我是 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)