下面是一个应用程序指示器的最小示例:
#!/usr/bin/python
import gobject
import gtk
import appindicator
if __name__ == "__main__":
ind = appindicator.Indicator("example-simple-client", "gtk-execute", appindicator.CATEGORY_APPLICATION_STATUS)
ind.set_status (appindicator.STATUS_ACTIVE)
menu = gtk.Menu()
menu_items = gtk.MenuItem('Quit')
menu.append(menu_items)
menu_items.connect("activate", gtk.main_quit)
menu_items.show()
ind.set_menu(menu)
gtk.main()
不幸的是,这方面的文档非常不完整。我要寻找的是一种检查用户是否打开了Appindicator菜单的方法(例如,单击了指示器图标)。那么,是否有一个信号,在菜单打开时发出?
最佳答案
不幸的是,答案似乎是否定的。
print gobject.signal_list_names(ind)
('new-icon', 'new-attention-icon', 'new-status', 'new-label', 'x-ayatana-new-label', 'connection-changed', 'new-icon-theme-path')
我尝试了所有的方法,但是当点击指示器时,没有一个方法会被激活。值得一提的是,联合开发团队似乎希望保持所有指标以统一的方式运行,所以很有可能这是故意限制的。
关于python - Python AppIndicator绑定(bind) - >如何检查菜单是否打开?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7063743/