小编mos*_*qur的帖子

从 python 线程更新 appindicators 标签不起作用

我是 Python 和 GUI 编程的新手。我试图通过做一个小应用程序来学习两者。在我的应用程序中,后台进程应该始终运行并通过 appindicator 显示用户的一些虚构配额。这是我的代码:

#!/usr/bin/env python

import pyjsonrpc
from gi.repository import Gtk
from gi.repository import AppIndicator3 as appindicator
import thread
import glib

ind = None

def start_gtk_main():
    ind = appindicator.Indicator.new(
                                  "example-simple-client",
                                  "indicator-messages",
                                  appindicator.IndicatorCategory.APPLICATION_STATUS)

    ind.set_status (appindicator.IndicatorStatus.ACTIVE)
    ind.set_label('NA', '')

    menu = Gtk.Menu()
    menu_quit = Gtk.MenuItem("Quit")
    menu_quit.connect("activate", quit_app)
    menu.append(menu_quit)
    menu_quit.show()

    ind.set_menu(menu)

    try:
        thread.start_new_thread(update_ind_label, ())
    except:
        print "Error: unable to start thread"

    Gtk.main()

def quit_app(self):
    Gtk.main_quit()

def update_ind_label():
    value = glib.timeout_add_seconds(5, handler_timeout)

def handler_timeout():
    url = "http://localhost/jsonrpc-server/"
    http_client = pyjsonrpc.HttpClient(url)
    response …
Run Code Online (Sandbox Code Playgroud)

indicator python

2
推荐指数
1
解决办法
1132
查看次数

标签 统计

indicator ×1

python ×1