Ubuntu 12.04应用程序指示器python

时间:2012-11-01 18:15:38

标签: python ubuntu-12.04

如何使用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:

2 个答案:

答案 0 :(得分:1)

这对我有用,导入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()

答案 1 :(得分:1)

有多种方法可以实现此功能

第一

import sys
def quit(widget):
    sys.exit(0)

第二

import os
def quit(widget):
    os.kill(os.getpid(), 9)

3TH

def quit(widget):
    gtk.main_quit()

然后,您应该在单击(激活)它时将回调连接到菜单项,如下所示:

menu = gtk.Menu()
item = gtk.MenuItem("quit")
item.connect("activate", quit)
item.show()
menu.append(item)

虽然,我更喜欢第3种方法来定义戒烟,这是我测试时最快的方法!