2011-02-21 86 views
1

首先,我是编程语言世界的新手,当然对Python来说也是新手。Pygtk + Glade自刷新标签

在我的工作中,我们使用的是Linux系统。有时我需要检查终端上的一些命令和脚本输出。所以,我想用一个非常基本的GUI编写一个小应用程序,并选择Python和Pygtk与Glade。不幸的是,我们的Linux发行版并不是最新的,我只能使用Python 2.4.3和Glade 2.12.1。我知道那些太旧了,但我必须使用它们。

在学习Python和Pygyk之前,我借助大量的教程学习了一些基本的GUI,例如,当我点击一个按钮时,它会收集一些系统信息并将它们写入标签。等等。我为不同的目的创建不同的按钮。这很好,但不是很有用。正如你猜测的那样,我希望这些标签在一段时间内自动刷新(即每十分钟)。我在网上搜索并找到Timer类。另外,我遇​​到线程问题。但我不能将这些应用到我的简单代码,因为我是一个noob。这里是我的代码:

#!/usr/bin/env python 

import os 
import ... 

class MyProject: 
    def __init__(self): 
     self.gladefile = "myproject.glade" 
     self.wTree = gtk.glade.XML(self.gladefile) 

     dic = { "on_window1_destroy" : gtk.main_quit, 
       "on_sis_button.clicked" : self.sis_button_clicked, 
       "on_......       } 

     self.wTree.signal_autoconnect(dic) 

    def sis_button_clicked(self, widget): 
     sislbl = self.wTree.get_widget("sis_label1") 

    def ...... 

if __name__ == "__main__": 
    frm = MyProject() 
    gtk.main() 

现在,我该如何将自动刷新或类似的东西应用到我的代码。我是否必须为每个标签应用标签,还是可以在全球范围内使用?我是否正确,还是应该完全改变我的代码概念?

谢谢。

注意:如果您指向我,我可以阅读手册。直接代码建议会让我如此高兴。

回答

2
+0

非常感谢。这正是我所期待的。即使我对编程和Python太新了,我可以很容易地将它应用到我的代码中,并且它像魅力一样工作。只是一个小记录,因为我的Gobject版本太旧了,我不能直接使用gobject.timeout_add_seconds,而是使用gobject.timeout_add。 – XunilXunil