2013-05-31 3 views
0

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

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

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 
+0

Приветствие Yoriz, это также предотвращает ошибки при удалении страницы с помощью функции, которую я написал. –

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

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

Томас

Смежные вопросы