Не могу добавить страницу в блокнот

У меня возникли проблемы с добавлением страницы в виджет 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)

Это простая опечатка, которую мы все время от времени делаем.

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