Не могу добавить страницу в блокнот
У меня возникли проблемы с добавлением страницы в виджет Notebook. Я получаю ошибку:
AttributeError: 'function' object has no attribute 'append_page'
Я предполагаю, что это означает, что объектные страницы в следующем коде не были установлены в класс Gtk.Notebook.
def add_page(self, pages):
textview = Gtk.TextView()
textbuffer = textview.get_buffer()
textbuffer.set_text("")
pages.append_page(textview, Gtk.Label("New Page"))
Код, который вызывает это:
def on_btn_new_page_activate(self, widget):
self.add_page(self.get_pages)
Метод get_pages() выглядит следующим образом (возможно, там, где проблема):
def get_pages(self):
subjectNum = self.subjects.get_current_page()
pages = self.subject.get_nth_page(subjectNum)
return pages
Переменная subject является допустимым блокнотом, полученным с помощью следующего:
self.subjects = self.builder.get_object("subjects")
Благодарю.
РЕДАКТИРОВАТЬ: Теперь возникает следующая ошибка:
Traceback (most recent call last):
File "/home/nja/notetaker/notetaker/NotetakerWindow.py", line 100, in on_btn_new_page_activate
self.add_page(self.get_pages())
File "/home/nja/notetaker/notetaker/NotetakerWindow.py", line 73, in get_pages
pages = self.subject.get_nth_page(subjectNum)
AttributeError: 'NotetakerWindow' object has no attribute 'subject'
1 ответ
Исправление:self.add_page(self.get_pages())
не self.add_page(self.get_pages)
последний передает в функцию self.get_pages не возвращаемое значение
Редактировать:
от: pages = self.subject.get_nth_page(subjectNum)
чтобы: pages = self.subjects.get_nth_page(subjectNum)
Это простая опечатка, которую мы все время от времени делаем.