wxpython 获取当前选择的笔记本标签文本(而非索引)
我有一个 EVT_NOTEBOOK_PAGE_CHANGED 函数,用来提醒我当标签页发生变化时,但我只能获取到笔记本标签的索引:
self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.eventntbkParameters, self.ntbkParameters)
&
page = self.ntbk.GetSelection()
print page
我觉得这样判断哪个标签被选中并不太安全,因为如果将来添加了额外的标签,索引可能会被重新排列。有没有办法直接获取标签的名称呢?
谢谢
1 个回答
2
你想要用 ntbk.GetPageText(evt.GetSelection())
这个代码来获取页面的文本。
class MyNotebook(AuiNotebook):
def __init__(self, parent, id, *args, **kwds): #@ReservedAssignment
AuiNotebook.__init__(self, parent, id, *args,
style = NO_BORDER | AUI_NB_CLOSE_ON_ALL_TABS | AUI_NB_TAB_SPLIT, **kwds)
self._tabs = ['Jobs', 'Devices', 'Actions', 'Transforms']
self.Bind(EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnPageClosed)
def OnPageClosed(self, evt):
page = self.GetPageText(evt.GetSelection())