我今天做了一点wxPython的工作,我得到了这段代码(我去掉了不相关的部分):
def CreateRowOne(self, pan):
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
hbox1.Add(wx.Button(pan, -1, "250 Words"), 1, wx.EXPAND | wx.ALL)
hbox1.Add(wx.Button(pan, -1, "500 Words"), 1, wx.EXPAND | wx.ALL)
hbox1.Add(wx.Button(pan, -1, "750 Words"), 1, wx.EXPAND | wx.ALL)
return hbox1
如何获取创建的按钮的ID,以便将它们绑定到处理程序?通常,我会这样做:
^{pr2}$但我没有给任何按钮一个标识符。我要手动分配身份证号码吗?在
不,输入
-1
或使用wx.NewId()
将给您自动生成的ID你可以随时用
button1.GetID()
或button1.Id
取回id。在在
更新:
我建议不要做”sizer。添加(wx.按钮(...))". 最好将小部件的创建和布局分开。有没有一个令人信服的理由来用你现有的方式编写代码?为什么不这样写:
将按钮创建和添加到一行大小器中没有任何好处。在
就我个人而言,我认为分配id更有价值,但对于大量的widget来说,这可能是一项繁重的工作。我通常只对代码其他部分中提到的“重要的”小部件这么做。我的代码通常看起来像:
^{pr2}$我认为随着时间的推移,代码更容易理解和维护。在
你可以通过控件.GetID()但是您不需要获取ID来绑定,您可以这样做
最好是(id应该是实现细节)和简短,例如在这个示例中
^{pr2}$相关问题 更多 >
编程相关推荐