我在wxpython中有一个笔记本,如下所示:
self.a = wx.Notebook(self, -1, style=0)
self.x= firstpanel(self.a,None)
self.y= secondpanel(self.a,None)
self.a.AddPage(self.x,_("firstPage"))
self.a.AddPage(self.y,_("secondPage"))
self.a.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,self.ChangedTab)
在ChangedTab
我要更改bttn
在屏幕上命名的按钮。如果secondPage
单击了选项卡,则按钮将是可单击的(bttn.Enabled()
)如果单击了其他任何选项卡,则按钮将是不可单击的(bttn.Disable()
)。
到目前为止,我有:
def ChangedTab(self, event):
index = event.GetIndex()
我的问题是如何知道单击了哪个选项卡?
我知道他们的名字标签firstPage
和secondPage
等等。如何从事件让他们?本GetIndex()
似乎并没有帮助我在这种情况下。还是有另一种方法可以做什么?
您可以使用GetPage
获取选定的页面对象,然后将其与第二个页面对象(self.y
)进行比较,以检查是否选择了第二个选项卡:
def ChangedTab(self, event):
index = self.a.GetSelection()
if self.a.GetPage(index) is self.y: # second page
# Enable button
else: # other pages
# Disable button
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句