0

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

有几个 if 复选框,所以我必须先获取页面的 id,但是我到底该怎么做呢?该页面是这样创建的:

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

2 回答 2

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
于 2013-05-31T14:22:22.727 回答
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()

我愿意接受建议以提高效率!:)

托马斯

于 2013-05-31T10:22:50.727 回答