在网上搜了下 试着添加 读文件python tkinter,如何让进度条根据我第二张图片的(2)部分根据当前读取文件进度files[i]显示进度条, 如何把1部分嵌套进我的2 求助!
def show():
for i in range(0,len(files)):
progressbarOne['value'] = i + 1 # 每次更新加1
root.update() # 更新画面
time.sleep(0.05)
root = tkinter.Tk()
root.title('遍历文件夹') # 设置窗口标题
root.geometry('150x120')
progressbarOne = tkinter.ttk.Progressbar(root)
progressbarOne.pack(pady=20)
progressbarOne['maximum'] = len(files) # 进度值最大值
progressbarOne['value'] = 0 # 进度值初始值
button = tkinter.Button(root, text='File Loading', command=show)
button.pack(pady=5)
root.mainloop()#消息循环
for i in range(0,len(files)):
tracepath = os.path.join(tracedir,files[i])
print(tracepath)
print(files[i])
files_n = len(files) # process bar cal
data = pd.read_csv(tracepath,index_col= False) # 对每一份文件执行的如下操作
data['Filename'] = files[i]
data = data.merge(configP[['Par','AnalyClass']],on ='Par', how='left')
data = data.merge(configS[['Par','Step','AnalyClass']], on=['Par','Step'],how='left') # AnalyClass_x, AnalyClass_y
data['Class'] = np.where(data['AnalyClass_x'].notnull(), data['AnalyClass_x'], data['AnalyClass_y'])#
在调用
progress_bar = ttk.Progressbar()
之后,没有调用progress_bar
的place
、grid
等方法将其放到画布上,应该加上这个就好了。不过看你的需求,可能不需要用到这种 GUI 形式的进度条,建议上终端显示的进度条,我一般用 tqdm,。