如何删除笔记本页面?

时间:2013-05-31 09:40:41

标签: python wxpython wxnotebook

我有一个wxPython GUI,我使用复选框将页面添加到笔记本中。每次复选框将其状态更改为“True”时,都会添加一个页面。但是当复选框将状态更改为“False”时,如何删除页面?

如果有复选框,有几个,所以我必须首先获取页面的ID,但我怎么能这样做?页面以这样的方式创建:

def addPage(self, pageTitle):
    page = Page(self.dataNoteBook)
    self.dataNoteBook.AddPage(page, pageTitle)

2 个答案:

答案 0 :(得分:2)

这稍微缩短,一旦找到命名页面就会停止。

def delPage(self, pageTitle):
    for index in range(self.dataNoteBook.GetPageCount()):
        if self.dataNoteBook.GetPageText(index) == pageTitle:
            self.dataNoteBook.DeletePage(index)
            self.dataNoteBook.SendSizeEvent()
            break

答案 1 :(得分:1)

好吧,我不确定这是否是正确的方法,但我发现了一种有效的方法。

添加页面的功能再收到一行:

def addPage(self, pageTitle):
    page = Page(self.dataNoteBook)
    page.SetLabel(pageTitle)
    self.dataNoteBook.AddPage(page, pageTitle)

并删除了删除页面的功能:

def delPage(self, pageTitle):
    for index in range(self.dataNoteBook.GetPageCount()):
        page = self.dataNoteBook.GetPage(index)
        if page.GetLabel() == pageTitle:
            self.dataNoteBook.DeletePage(index)
            self.dataNoteBook.SendSizeEvent()

我愿意接受更高效的建议! :)

托马斯