如何在 python 指示器应用程序中退出使用菜单项?
menu = gtk.Menu()
buf = "Quit"
menu_items = gtk.MenuItem(buf) # click the Quit close the application. How to?
menu.append(menu_items)
menu_items.show()
ind.set_menu(menu)
gtk.main()
我想单击buf
菜单项以关闭应用程序。def quit:
如何在 python 指示器应用程序中退出使用菜单项?
menu = gtk.Menu()
buf = "Quit"
menu_items = gtk.MenuItem(buf) # click the Quit close the application. How to?
menu.append(menu_items)
menu_items.show()
ind.set_menu(menu)
gtk.main()
我想单击buf
菜单项以关闭应用程序。def quit:
有几种方法可以实现这个功能
import sys
def quit(widget):
sys.exit(0)
import os
def quit(widget):
os.kill(os.getpid(), 9)
def quit(widget):
gtk.main_quit()
然后,您应该在单击(激活)时将回调连接到菜单项,如下所示:
menu = gtk.Menu()
item = gtk.MenuItem("quit")
item.connect("activate", quit)
item.show()
menu.append(item)
同时,我更喜欢第三种定义退出的方法,它是我测试的最快的!
这对我有用,在顶部导入 sys。
import sys
然后在要退出的函数中输入:
sys.exit(0)
下面是我的工作示例(检查 quitApplicaiton 函数):
#!/usr/bin/env python
#
#
# Authors: Stuart Page <xxx@gmail.com>
#
#
import gobject
import gtk
import appindicator
import sys
def menuitem_response(w, optionName):
print optionName
def quitApplication(w, optionName):
sys.exit(0)
if __name__ == "__main__":
ind = appindicator.Indicator ("example-simple-client",
"indicator-messages",
appindicator.CATEGORY_APPLICATION_STATUS)
ind.set_status (appindicator.STATUS_ACTIVE)
ind.set_attention_icon ("indicator-messages-new")
# create a menu
menu = gtk.Menu()
# create some drop down options
optionName = "Menu Option - 1"
menu_items = gtk.MenuItem(optionName)
menu.append(menu_items)
menu_items.connect("activate", menuitem_response, optionName)
menu_items.show()
optionName = "Menu Option - 2"
menu_items = gtk.MenuItem(optionName)
menu.append(menu_items)
menu_items.connect("activate", menuitem_response, optionName)
menu_items.show()
optionName = "Quit"
menu_items = gtk.MenuItem(optionName)
menu.append(menu_items)
menu_items.connect("activate", quitApplication, optionName)
menu_items.show()
ind.set_menu(menu)
gtk.main()