2011-02-21 92 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