Não é possível adicionar página em um bloco de notas

3

Estou tendo problemas para adicionar uma página a um widget da Notebook. O erro que recebo é este:

AttributeError: 'function' object has no attribute 'append_page'

Suponho que isso significa que as páginas de objeto no código a seguir não foram definidas para uma classe 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"))

O código que chama isso é:

def on_btn_new_page_activate(self, widget):
    self.add_page(self.get_pages)

O método get_pages () está seguindo (provavelmente onde está o problema):

def get_pages(self):
    subjectNum = self.subjects.get_current_page()
    pages = self.subject.get_nth_page(subjectNum)
    return pages

A variável de assuntos é um bloco de anotações válido, obtido da seguinte maneira:

self.subjects = self.builder.get_object("subjects")

Obrigado.

EDITAR: Agora o seguinte erro ocorre:

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'
    
por njallam 23.06.2012 / 13:57

1 resposta

4

A correção é:
self.add_page(self.get_pages())

não self.add_page(self.get_pages)

o último passa na função self.get_pages não seu valor de retorno

Editar:

de: pages = self.subject.get_nth_page(subjectNum)

para: pages = self.subjects.get_nth_page(subjectNum)

Este é um erro de digitação simples que todos fazemos de tempos em tempos.

    
por RobotHumans 23.06.2012 / 14:20