Как удалить страницу блокнота?

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

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

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

person Thomas Becker    schedule 31.05.2013    source источник


Ответы (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
person Yoriz    schedule 31.05.2013
comment
Cheers Yoriz, это также предотвращает ошибку при удалении страницы с помощью функции, которую я написал. - person Thomas Becker; 31.05.2013

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

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

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

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

Томас

person Thomas Becker    schedule 31.05.2013