У 2010 році Стефано Палаццо задав відповідне запитання: Помістити довільний gtk.Widget в appindicator.Indicator та подібний запитували на StackOverflow . В обох випадках консенсус полягає в тому, що показники програм Ubuntu обмежені. Як заявив Майкл Екстранд:
Підтримка меню Індикатор додатків заснована на меню D-Bus, які обмежені в тому, що вони підтримують - вони підтримують лише основні функції меню, а не більш екзотичні речі, такі як довільні віджети.
Однак це суперечить тому, що ми бачимо в індикаторі Bluetooth сьогодні, у 2016 році: він використовує тумблери.
Те саме можна спостерігати з показником Ubuntu One з 13.04:
Тож очевидно, що є спосіб. Я вивчив вихідний код індикатора-Bluetooth, але він написаний у Валі. Я, однак, працюю в першу чергу в пітоні, і навчитися Валі просто переписати всі мої вже існуючі показники - це занадто багато роботи.
Отже, суть питання: як можна використовувати Gtk.Widgets або, як мінімум, перемикач, як у індикаторі Bluetooth, використовуючи Python?
ПРИМІТКА : Я готовий поставити щедро за це питання, щоб нагородити відповіддю, який надасть робочий приклад в python . Інші мови не приймаються.
test = Gtk.CheckMenuItem("Monkey")
працює додавання кнопки, але повинно бути більше. Незважаючи на те , що один працює, це один повинен працювати, але це не так : Gtk.CheckMenuItemToggled("Monkey")
. Я майже впевнений, що це може працювати як завгодно. Дивіться: developer.gnome.org/gtk3/stable/GtkCheckMenuItem.html
Gtk.ImageMenuItem
застаріло і не рекомендується використовувати btw: developer.gnome.org/gtkmm/stable/deprecated.html