在wxpython上使用widget id有什么用?

Mar*_*oni 3 wxpython

我一直在努力学习wxpython,在创建小部件时我看到了这个id:

menubar = wx.MenuBar()
file = wx.Menu()
file.Append(-1, 'Quit', 'Quit application')
menubar.Append(file, '&File')
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些内容,当它被设置为-1时,会自动生成但是id的实际用途是什么以及它对事件有什么用?

Anu*_*yal 8

ID用于标识,并由wxPython内部用于跟踪小部件并绑定事件或发出事件等.但是大部分时间作为wxPython的用户,您不需要在任何地方设置或使用ID,因为大部分时间你将使用python对象来引用小部件,而不是ID

>>> btn = wx.Button(win, label="click me")
>>> btn.Bind(wx.EVT_BUTTON, on_click)
Run Code Online (Sandbox Code Playgroud)

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