python tkinter整理總結

最近項目上又在做Python gui界面設計

看了看wxpython tkinter pyqt等等好幾個以後,還是決定用tkinter學習成本比較低,做起來也相對容易一些

做起來遇到以下幾個問題:

1.界面卡死(這個問題很嚴重,也困擾了我很久,mmp)

2.界面佈局

3.按鈕傳參

4.entry傳var

解決辦法:

1.界面卡死問題:

把執行的計算過程全都放在thread子線程裏面(子線程和主線程的區分,主線程:整個程序,子線程:threading.Thread(target = ,args = ())創建的線程)
這樣,tkinter界面不再卡死,結果通過子線程中調用主線程tk界面的組件來展示

2.界面佈局:

這個比較簡單,直接pack就行
複雜一點的可以添加框架frm = Frame(tk_obj)

3.按鈕傳參:

找了半天,就一個方法,lambda : func(args*)
func函數
args該函數的參數
因爲本身Button是不可以傳遞參數的

4.entry傳var:

我主要是想通過輸入,往程序中傳遞數據
設計個函數
def get_value():
global change_value
change_value = var.get()
因爲是button調用的函數,無法傳遞結果,就只能通過改變全局變量
(ps:當然也可以把後面的內容全部寫入到這個函數裏面,但感覺那樣得不償失,後來就沒有弄了)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章