wxPython中的小部件ID有什么用途?

3

我一直在尝试学习wxPython,发现在创建小部件时需要使用id,例如:

menubar = wx.MenuBar()
file = wx.Menu()
file.Append(-1, 'Quit', 'Quit application')
menubar.Append(file, '&File')

我读到过一些资料,说当id设置为-1时,它会自动生成。但是id的真正作用是什么?它如何对事件有用?


用于识别项目。 例如:可以通过提供项目ID从菜单中删除菜单项。 - whunmr
是的,我发布了一段时间后就想到了。不管怎样,还是谢谢。 - Marconi
1
@whunmr,也许你应该把它作为一个答案添加进去,这样OP就可以接受它作为解决方案。对于那些刚开始使用wxPython的人来说,这并不是那么显而易见的。 - Ivo Flipse
@Ivo Flipse 这并不是真的。这就是为什么我在这里的原因 :D 它们还有其他用途吗? - Shon Freelen
1个回答

8

ID是标识符,由wxPython内部用于跟踪小部件、绑定事件或发出事件等。但大多数情况下,作为wxPython的用户,您不需要在任何地方设置或使用ID,因为您大多数时候将使用Python对象来引用小部件,而不是使用ID,例如:

>>> btn = wx.Button(win, label="click me")
>>> btn.Bind(wx.EVT_BUTTON, on_click)

因此,您不需要将ID设置为任何内容或引用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接