0

每当切换选项卡时,我都想获取以下代码的活动选项卡索引。有没有内置功能?

import wx

创建笔记本:

class PageOne(wx.Panel):
def __init__(self, parent):
    wx.Panel.__init__(self, parent)
    t = wx.StaticText(self, -1, "Histogram Plot", (20,20))
    self.currentTab=1


class PageTwo(wx.Panel):
def __init__(self, parent):
    wx.Panel.__init__(self, parent)
    t = wx.StaticText(self, -1, "This is a PageTwo object", (40,40))
    self.currentTab=2


class PageThree(wx.Panel):
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)
        t = wx.StaticText(self, -1, "This is a PageThree object", (60,60))
        self.currentTab=3


class MainFrame(wx.Frame):
    def __init__(self):
    wx.Frame.__init__(self, None, title="Plots")

    # Here we create a panel and a notebook on the panel
    p = wx.Panel(self)
    nb = wx.Notebook(p)

    # create the page windows as children of the notebook
    page1 = PageOne(nb)
    page2 = PageTwo(nb)
    page3 = PageThree(nb)

    # add the pages to the notebook with the label to show on the tab
    nb.AddPage(page1, "Plot 1")
    nb.AddPage(page2, "Plot 2")
    nb.AddPage(page3, "Plot 3")

    # finally, put the notebook in a sizer for the panel to manage
    # the layout
    sizer = wx.BoxSizer()
    sizer.Add(nb, 1, wx.EXPAND)
    p.SetSizer(sizer)

# bind event to notebook
    nb.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.ChangingTest)

def ChangingTest(self, evt):
    print "It worked!"

尝试了 GetSelection() 并打印 currentTab 但在那里没有找到任何运气。谢谢。

4

1 回答 1

0

查看 wxPython 演示,您似乎需要 event.GetSelection() 或可能 self.GetSelection,其中“self”指的是 Notebook。演示示例绑定的事件是 EVT_NOTEBOOK_PAGE_CHANGED。

于 2013-10-04T13:21:19.553 回答