当窗口失去焦点时,tkinter进度栏不会更新

时间:2020-07-14 15:36:01

标签: python tkinter progress-bar

我有以下代码,其中run是一种方法,可以填充并在填充时逐步更新进度条。

window = tk.Tk()
button = tk.Button(text = 'Analyze Data', width=15, height=3,bg='gray', fg='black')
button.bind("<Button-1>", run)
button.pack(pady=10)
progress = ttk.Progressbar(window, orient = tk.HORIZONTAL, mode = 'determinate')
progress.pack(pady=10)
window.mainloop()

它工作正常,除了以下事实:如果窗口失去焦点,进度条也将不再更新(即使窗口重新获得焦点)。为什么会发生这种情况,即使窗口失去焦点,有没有办法使进度条更新?

我使用以下命令更新运行功能中的进度条:

progress['value'] = progress['value']+1
window.update_idletasks()

1 个答案:

答案 0 :(得分:0)

对我来说,在更新进度条值后从window.update_idletasks()更改为window.update()解决了问题