解决Python 中Tkinter 与 threading 结合使用后依然卡顿,假死问题的一种方法
遇到的问题:
开启新线程,数据插入前不会卡,数据插入时会卡。
不开新线程,数据插入前会卡,数据插入基本秒过。
猜测原因:
向tkinter表格treeview中插入数据时,数据量过大(高I/O操作)的话就会导致GUI界面卡顿,假死。
尝试过threading 和_thread 依旧无法解决。
可能是新的线程与GUI主线程共同操作treeview导致冲突的,但开启线程锁Lock依旧无法解决。
解决方法:
开启新线程查询,操作到 insert 时 :
1、treeview.place_forget()
2、insert
3、treeview.place()
提示:使用pack布局的由于控件重新pack,界面可能会乱。
treeview 快速清空:
1、新开线程
2、treeview.place_forget()
3、执行delete
3、treeview.place()