【发布时间】:2020-09-19 19:41:27
【问题描述】:
我一直试图在 wxpython 中的 wx.StaticBitmap 对象上接收鼠标事件。进展并不顺利。我在 MacOS 上使用 wxpython 4.1.0 和 wxWidgets 3.1.4。我什至使用检查工具来调查发送到 StaticBitmap 对象的事件。似乎根本没有鼠标事件到达 StaticBitmap 对象。
下面是一些演示问题的示例代码:
import wx
def OnFrameClicked(e):
print("Frame received click event")
print(e.GetPosition())
e.Skip()
def OnImageClicked(e):
print("Image received click event")
print(e.GetPosition())
app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "wxStaticBitmap Experiment")
frame.Bind(wx.EVT_LEFT_DOWN, OnFrameClicked)
bmp = wx.Image('100x100.png', wx.BITMAP_TYPE_ANY).ConvertToBitmap()
image = wx.StaticBitmap(frame, bitmap=bmp)
image.Bind(wx.EVT_LEFT_DOWN, OnImageClicked)
frame.Show(True)
# uncomment the next 2 lines to enable detailed inspection
#import wx.lib.inspection
#wx.lib.inspection.InspectionTool().Show()
print(wx.version())
app.MainLoop()
这里还有一个包含示例 png 图像的 github 项目:wxpython-staticbitmap
如何在单击 StaticBitmap 对象时获取鼠标事件?
【问题讨论】:
标签: wxpython mouseevent