Как удалить страницу записной книжки?

У меня есть графический интерфейс wxPython, где я добавляю страницы в блокнот с помощью флажков. Каждый раз, когда флажок меняет свой статус на "True", страница добавляется. Но как мне удалить страницу, когда флажок изменяет статус на "Ложь"?

Есть пара флажков if, поэтому я должен сначала получить идентификатор страницы, но как я могу это сделать? Страница создана таким образом:

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

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

Хорошо, я не уверен, что это правильный способ сделать это, но я нашел способ, который работает.

Функция добавления страницы получила еще одну строку:

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()

Я открыт для предложений, чтобы сделать это более эффективным!:)

Томас

Другие вопросы по тегам