import wx
class MyPanel(wx.Panel):
def __init__(self, parent):
super().__init__(parent)
btn = wx.Button(self, label="Press me")
btn.Bind(wx.EVT_BUTTON, self.on_button_press)
def on_button_press(self, event):
print("You pressed the button")
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title="Hello wxPython")
panel = MyPanel(self)
self.Show()
if __name__ == "__main__":
app = wx.App(redirect=False)
frame = MyFrame()
app.MainLoop()
在上面的代码中,我们使用btn.Bind将wx.Button绑定到wx.EVT_按钮
如果相反,我们使用以下方式:
self.Bind(wx.EVT_BUTTON, self.on_button_press, btn)
结果将与上述相同。现在我的问题是self.Bind和btn.Bind之间的区别
每个小部件都有一个Id。}说不要在这个事件上停下来,看看是否还有更多的事件要处理
事件触发时,传递触发小部件的Id,在本例中为按钮。
将事件绑定到函数可以是特定的或通用的,即特定小部件或触发该事件类型的任何小部件。
简而言之,在本例中,
self.Bind
绑定任何按钮事件,除非您指定了小部件ID。见:https://docs.wxpython.org/events_overview.html
希望下面的代码有助于解释。
注意:{
相关问题 更多 >
编程相关推荐