Seite 1 von 1

Dynamische Menüeinträge mit PyGTK?

Verfasst: Sonntag 6. November 2011, 13:10
von vocoder
Hallo,

ich habe in einer Klasse eine Menüleiste angelegt, mit diesem Code:

Code: Alles auswählen

        menubar = gtk.MenuBar()

        self.meinmenu = gtk.Menu()
        meinm = gtk.MenuItem("_Extras")
        meinm.set_submenu(self.meinmenu)

        menubar.append(meinm)
Jetzt möchte ich, dass das Menü "Extras" dynamisch abhängig von den Benutzereingaben um neue Menüeinträge erweitert wird. Leider funktioniert das aber nicht so mit der Funktion wie ich es mir gedacht habe:

Code: Alles auswählen

        def menu_erweitern(self):
            eintrag = gtk.MenuItem("Neuer Eintrag!")
            self.meinmenu.append(eintrag)
Sicher mache ich irgend etwas falsch. Kann mir jemand sagen, wie man das hinkriegt?

Re: Dynamische Menüeinträge mit PyGTK?

Verfasst: Sonntag 6. November 2011, 15:45
von Andyh
Hallo

Mal ins Blaue geraten:

Code: Alles auswählen

        def menu_erweitern(self):
            eintrag = gtk.MenuItem("Neuer Eintrag!")
            self.meinmenu.append(eintrag)
            eintrag.show_all()
Gruß
Andy

Re: Dynamische Menüeinträge mit PyGTK?

Verfasst: Sonntag 6. November 2011, 20:27
von vocoder
In der Eile hatte ich "showall" statt "show_all" eingegeben und mich gewundert...

Code: Alles auswählen

AttributeError: 'gtk.MenuItem' object has no attribute 'showall'
Tatsächlich funktionieren "show" und "show_all".

Danke für die Lösung @Andyh und den Typo-Hinweis @lunar!

Re: Dynamische Menüeinträge mit PyGTK?

Verfasst: Sonntag 6. November 2011, 20:32
von lunar
@vocoder: Lies den Beitrag von Andyh nochmal… die empfohlene Methode heißt "show_all()" :roll: