Я инициализировал индикатор выполнения и хочу обновить его в соответствии с функцией / потоком, которая находится за пределами основного класса Tkinter. Я перепробовал все имеющиеся здесь решения, похожие на проблему, но безрезультатно. Любая помощь будет оценена. Вот мой код:
from tkinter import ttk
import time
import tkinter as tk
def run():
global progressBar
progressBar['maximum'] = 100
for i in range(0,100,25):
time.sleep(0.05)
progressBar["value"] = i
progressBar.update()
progressBar["value"] = 0
progressBar["value"] = 100
class Main(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
buttonFrame = tk.Label(text="Progress Bar")
buttonFrame.grid(column=0,row=0)
progressBar = ttk.Progressbar(self, orient="horizontal", length=286,mode="determinate")
progressBar.grid(column = 0, row = 3, pady=10)
button1 = tk.Button(buttonFrame, text="Run Progress Bar" ,command = run)
button1.grid(column = 0, row = 0)
app = Main()
app.mainloop()