2015-02-09 51 views
0

我有一個簡短的程序,使用兩個主要按鈕Tkinter:加載文件和運行過程。在GUI上傳遞變量(使用全局變量)?

加載文件創建四個列表,每列有幾千個對象。 運行進程在這些列表上運行我的算法,併爲用戶生成報告。

我的問題是:一般來說,這些列表應該放在哪裏?現在我把它們當作全局變量,但正如我們總是被告知的那樣,這是不好的做法。我感覺像這樣是一個適當的地方使用全局變量,但是有沒有更好的方法?

我的主要功能是:

def main(): 
    root.mainloop() 

加載文件作爲開始:

def load_files(): 
    global key_map 
    global ser_events 
    global scada_events 
    global beta_dict 
    and then load the files... 

運行過程作爲開始:

def run_process(): 
    global ser_events 
    global scada_events 
    global beta_dict 
    and then do the process stuff... 
+1

您的應用程序應該是一類......這些應該是數據成員那個階級......說那個老話說「如果它不能解決它」 – 2015-02-09 21:27:09

回答

0

我建議在看this site。這個例子的設置方式,tkinter應用程序是一個類。您的load_files()run_process()函數將是類的函數,而不是使用全局變量(遠離python中的全局變量!),變量將是類屬性。

不幸的是,這需要你的代碼重寫,但它促進良好的編程技術,你的代碼將更加簡潔,可讀性:)