Как удалить страницу записной книжки?
У меня есть графический интерфейс 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()
Я открыт для предложений, чтобы сделать это более эффективным!:)
Томас