繁体   English   中英

使用wxpython NoteBook事件

[英]Working with wxpython NoteBook event

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

我的问题是如何知道单击了哪个选项卡?

我知道选项卡的名称为firstPagesecondPage等。如何从事件中获取它们? 在这种情况下, 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM