我是python的新手,并制作了一个Tkinter应用程序,当按下开始按钮时,它将执行目录中存在的所有python文件。我的 GUI 还具有用于查看当前进度的进度条。
所以这是我的代码
import os
from tkinter import *
from tkinter.ttk import *
from tkinter import messagebox
directory = dir_path = os.path.dirname(os.path.realpath(__file__))
files = os.listdir(directory)
root = Tk()
root.geometry('200x200')
root.maxsize(200,200)
root.minsize(200,200)
root.title('PYTOEXE')
v = 0
def begin():
global v
for x in files:
os.system('pyinstaller '+x)
v=v+1
p['value']=v
p = Progressbar(root,length=200,max=len(files))
b = Button(root,text="Start",command=lambda: begin())
p.place(x=0,y=0)
b.place(x=62,y=30)
root.mainloop()
但我的问题是,每当我按下开始按钮时,GUI都会冻结并且代码开始编译,完成后,GUI解冻并且进度条立即填满...
所以我希望GUI在处理时不要冻结,并在进度条上显示正确的进度。
示例代码和解释对我来说会更好。
感谢您的宝贵时间...
凤凰求蛊
万千封印
相关分类