使用wxpython NoteBook事件

时间:2015-07-30 06:04:20

标签: python wxpython

我在wxpython中有一个NoteBook,如下所示:

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()

我的问题是如何知道点击了哪个标签?

我知道标签名称为firstPagesecondPage等。我如何从活动中获取这些标签?在这种情况下,GetIndex()似乎对我没有帮助。还是有另一种方法可以做什么?

1 个答案:

答案 0 :(得分:1)

您可以使用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