在2010年,Stefano Palazzo提出了一个相关问题,将任意一个gtk.Widget放入一个appindicator.Indicator中,在StackOverflow上也提出了类似的问题。在这两种情况下,共识是Ubuntu的App Indicators是有限的。正如Michael Ekstrand所说:
Application Indicator菜单支持基于D-Bus菜单,但其支持方式受到限制-它们仅支持基本菜单功能,而不支持更多奇特的东西,例如任意小部件。
但是,它与我们今天在2016年的蓝牙指示器中看到的相矛盾:它使用拨动开关。
从13.04开始的Ubuntu One指标可以观察到相同的结果:
因此,显然有一种方法。我研究了指示器蓝牙源代码,但是它是用Vala编写的。但是,我主要使用python进行工作,而学习Vala来重写我已经存在的所有指标,则工作量太大。
因此,问题的核心是:如何使用Python使用Gtk.Widgets,或者至少像蓝牙指示器中那样使用拨动开关?
注意:我愿意悬赏这个问题,以奖励将在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