我正在使用Python(pygtk)创建一个指标applet,我有一个查找进程的函数。我需要菜单中的项目能够在仍然运行脚本时进行更改。
菜单中的项目应根据其是否正在运行来终止或启动进程。
另外,我想在运行时更改纯文本项,但是这个项应该不断更改以显示文本文件中的最新行。
如何在不重新启动脚本的情况下更新代码中的项目?
请参阅此处的代码:https://github.com/danielholm/BareShare/blob/master/bareshare.py
提前致谢
答案 0 :(得分:0)
听起来像我一样,正在寻找set_label
gtk.MenuItem
方法。请参阅文档here。
为了使该项无法点击,您希望使用set_sensitive
gtk.Widget
方法使窗口小部件不敏感。请参阅here的文档。
您还可以使用get_label
的{{1}}方法检索您在gtk.MenuItem
中存储的任何文字。
一个例子是:
gtk.MenuItem
然后,当脚本状态发生变化时:
my_menu_item = gtk.MenuItem("Script is runnning")
my_menu_item.set_sensitive(False)
答案 1 :(得分:0)
我现在就开始工作了。
您可以随时使用set_label(),并且由于GTK main一遍又一遍地循环,您可以使用代码在设定的时间更新标签:
gobject.timeout_add(1000, self.funcion, None)
def function(self, widget)
self.label.set_label(uploadM)