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:当然也可以把后面的内容全部写入到这个函数里面,但感觉那样得不偿失,后来就没有弄了)

你可能感兴趣的:(python笔记,tkinter,python,gui)