En 2010, Stefano Palazzo a posé une question connexe, intitulée Mettre un gtk.Widget arbitraire dans un indicateur.indicateur , et une question similaire sur StackOverflow . Dans les deux cas, le consensus est que les indicateurs d'application d'Ubuntu sont limités. Comme le dit Michael Ekstrand:
La prise en charge du menu Indicateur d'application est basée sur les menus D-Bus, limités dans ce qu'ils supportent: ils ne prennent en charge que la fonctionnalité de menu de base, pas des éléments plus exotiques tels que des widgets arbitraires.
Cependant, il contredit ce que nous voyons dans l'indicateur Bluetooth aujourd'hui, en 2016: il utilise des commutateurs à bascule.
La même chose pourrait être observée avec Ubuntu Un indicateur à partir de 13.04:
Alors évidemment, il y a un moyen. J'ai étudié le code source Bluetooth-Indicator, mais il est écrit en vala. Cependant, je travaille principalement en python, et apprendre Vala à réécrire tous mes indicateurs existants est un peu trop de travail.
Donc, l’essentiel de la question: comment utiliser Gtk.Widgets, ou au minimum un interrupteur à bascule, comme dans l’indicateur Bluetooth, avec Python?
NOTE : Je suis prêt à mettre prime sur cette question pour récompenser une réponse qui fournira un exemple de travail en python . Les autres langues ne sont pas acceptées.
test = Gtk.CheckMenuItem("Monkey")
, l’ajout d’une case à cocher est utile, mais il devrait y en avoir plus. Bien que que l' on travaille, celui - ci devrait fonctionner, mais ne fonctionne pas: Gtk.CheckMenuItemToggled("Monkey")
. Je suis à peu près sûr que cela peut fonctionner de toute façon. Voir: developer.gnome.org/gtk3/stable/GtkCheckMenuItem.html
Gtk.ImageMenuItem
est déconseillé et déconseillé d'utiliser btw: developer.gnome.org/gtkmm/stable/deprecated.html