So habe ich eine grundlegende Menüstruktur:Anbringen/Klonen ein Untermenü mehr als ein Menüpunkt
menu = gtk.menu()
item1 = gtk.MenuItem('Item 1')
item2 = gtk.MenuItem('Item 2')
menu.append(item1)
menu.append(item2)`
menu.show_all()
Und ich habe ein Untermenü:
submenu = gtk.menu()
subitem1 = gtk.MenuItem('Option 1')
subitem2 = gtk.MenuItem('Option 2')
submenu.append(subitem1)
submenu.append(subitem2)
submenu.show_all()
Jetzt möchte ich das gleiche Untermenü befestigen Struktur zu beiden Menüpunkten der obersten Ebene. Mein erster Gedanke war, dass das einfache Hinzufügen .set_submenu(submenu)
sowohl auf item1
und item2
sollte funktionieren, aber es gibt mir den Fehler:
Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem
und das Untermenü zeigt nur auf den letzten Punkt, um ihn zu befestigt war.
In der Praxis habe ich viel mehr als zwei Top-Level-Elemente, und ich muss die gleiche Untermenüstruktur an die meisten von ihnen anhängen. Daher ist es nicht wirklich eine Option, die gleiche Untermenüstruktur für jedes Element zu definieren. Was ist der richtige Weg, dies zu tun?
Dies scheint wie eine seltsame Struktur. Warum das gleiche Untermenü für mehrere Gegenstände definieren? Mache einfach ein Menü und entscheide über das Element, zu dem es passt, indem du dir ansiehst, auf welches Element der Benutzer mit der rechten Maustaste geklickt hat :) – joaquinlpereyra
@joaquinlpereyra Uh, kein Rechtsklick (nur schwebend), aber ich bekomme den Drift. Ich habe ähnliche Sachen in Javascript gemacht, aber ich weiß nicht, wie man es in Python macht. Irgendwelche Beispiele? – Razor
Mhmmm, Schweben scheint wie eine Herausforderung. Können Sie erkennen, wo der Benutzer schwebt? Was soll das Widget unter diesem Menü sein? – joaquinlpereyra