|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
是这样的,我用PySimpleGui 写了一个界面.我想在点击按钮"下载记录"后,后台启动下载脚本,并且下面的控制台能实时输出日志.目前遇到的问题就是点击了"下载记录"程序就处于卡死状态,只能等下载程序跑完,
才会有反应.是因为程序是单线程所导致的吗?有没有大佬能给点思路,
这一块一直没绕明白,感谢了!!
这就是阻塞界面,你代码运行速度快就不会感觉卡
而且开多进程不需要你说开 N 个,这里只需要将楼主下载的那代码开个线程足以
你试试这个代码:
- from tkinter import *
- def show():
- print('执行程序计算中...')
- i = 100000000
- while i:
- i -= 1
- print(i)
- root = Tk()
- Button(root,text='执行程序',command = show).pack()
- mainloop()
复制代码
然后试试这个多线程:
- from tkinter import *
- from threading import Thread
- def show():
- def func():
- i = 100000000
- while i:
- i -= 1
- print(i)
- t = Thread(target=func)
- t.start()
- print('执行程序计算中...')
- root = Tk()
- Button(root,text='执行程序',command = show).pack()
- mainloop()
复制代码
哪个会卡死?
|
|