如何在wxpython中每次单击时删除旧事件

2024-10-04 03:19:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我下面的代码在当前窗口的特定区域内每次鼠标左键单击都会创建一个新图像。怎么可能,我可以创建一个新的形象,每一次点击,但也可以删除旧的结果,同样的点击。你知道吗

这是我的密码。你知道吗

import wx

class MainWindow(wx.Frame):

def __init__(self, parent, title):
    super(MainWindow,self).__init__(parent, title=title, size=(800,480))
    self.SetBackgroundColour('white')

    self.Show()
    self.Bind(wx.EVT_LEFT_DOWN, self.onLeftDown)


def onLeftDown(self, event):
    """left mouse button is pressed"""
    pt = event.GetX()
    if pt >= 100 and pt <= 700:
       png = wx.Image('input.png', wx.BITMAP_TYPE_ANY).ConvertToBitmap()
       self.bitmap1 = wx.StaticBitmap(self, -1, png, (pt, 220), (5,60))

if __name__ == '__main__' :
  app = wx.App()
  MainWindow(None, title='App GUI')
  app.MainLoop()

Tags: 代码selfeventptappifpngtitle
1条回答
网友
1楼 · 发布于 2024-10-04 03:19:15

我相信png对象是在onLeftDown()方法的末尾被垃圾收集的。通常,当您想更改StaticBitmap小部件的内容时,可以使用它的SetBitmap方法。您可能想看看本教程,了解如何更改正在查看的图像的示例:

相关问题 更多 >