首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python AppIndicator bindings ->如何检查菜单是否打开?

Python AppIndicator bindings ->如何检查菜单是否打开?
EN

Stack Overflow用户
提问于 2011-08-15 18:05:14
回答 2查看 2.4K关注 0票数 16

下面是一个最小的AppIndicator示例:

代码语言:javascript
复制
#!/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菜单是否被用户打开(例如,指示器图标被点击)。那么,当菜单打开时,是否会发出信号?

EN

回答 2

Stack Overflow用户

发布于 2011-08-21 11:59:08

不幸的是,答案似乎是否定的。

代码语言:javascript
复制
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')

我尝试了所有它们,但当指示器被单击时,它们似乎都不会激活。值得注意的是,unity开发人员似乎希望所有指标都以统一的方式运行,所以很有可能是故意限制的。

票数 8
EN

Stack Overflow用户

发布于 2011-10-28 00:55:29

在Launchpad https://bugs.launchpad.net/screenlets/+bug/522152上有一个关于它的bug

请注意,“激活”信号可用于AppIndicator子菜单。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7063743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档