使用 wxpython NoteBook 事件
Working with wxpython NoteBook event
我在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()
我的问题是如何知道单击了哪个选项卡?
我知道选项卡的名称 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
我在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()
我的问题是如何知道单击了哪个选项卡?
我知道选项卡的名称 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