web-dev-qa-db-fra.com

Pourquoi la création d'un nouvel onglet me donne-t-elle «TypeError: Expected Gtk.Widget, but got GObjectMeta»?

def on_btn_new_subject_activate(self, widget):
    self.subjects.append_page(Gtk.TextView(), "Testing")

J'essaie de créer un nouvel onglet sur une zone de texte mais je chaque fois que le signal est appelé par l'événement (je clique sur le bouton), cela se produit:

TypeError: Expected Gtk.Widget, but got GObjectMeta

J'ai également essayé des variantes comme "Gtk.GtkTextView ()" et "GtkTextView ()" sans succès

Que dois-je utiliser pour obtenir une zone de texte dans cet onglet?

5
njallam

Je pense que vous devez initialiser Gtk.TextView () avant utilisation .... J'étais également confronté au même problème 2 jours avant .... Vérifiez simplement le code suivant

        self.textview = Gtk.TextView()
        self.textbuffer = self.textview.get_buffer()
        self.textbuffer.set_text("This is some text inside of a Gtk.TextView. "
            + "Select text and click one of the buttons 'bold', 'italic', "
            + "or 'underline' to modify the text accordingly.")
        mywindows.add(self.textview)

Voir: http://python-gtk-3-tutorial.readthedocs.org/en/latest/textview.html

1
gau1991