wxpython按钮事件传递更多参数
时间: 2023-07-25 12:07:27 浏览: 101
在wxPython中,可以使用Lambda函数将更多参数传递给按钮事件处理程序。Lambda函数是一种匿名函数,可以接受任意数量的参数,并将其转发给其他函数。
以下是一个示例,其中将按钮对象和其他参数传递给事件处理程序:
```python
import wx
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Button with extra params')
panel = wx.Panel(self)
self.button = wx.Button(panel, label='Click me')
self.button.Bind(wx.EVT_BUTTON, lambda event: self.on_button_click(event, 'Extra param 1', 'Extra param 2'))
def on_button_click(self, event, param1, param2):
print('Button clicked with extra params:', param1, param2)
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
```
在此示例中,Lambda函数将事件对象和两个额外的参数传递给`on_button_click`方法。在`on_button_click`方法中,可以访问这些参数并执行相应的操作。
阅读全文