Custom tkinter. Progress Bar как привязать к процессу?
В Tkinter связать процент выполнения задачи и progress bar получилось а как мне получить то же в custom tkinter? То есть label должен отображать процент выполнения параллельно прогресс-бару.
# TK
root = Tk()
number = 284
def action_button_1():
for i in range(number):
pb.configure(value= i / (number / 101))
label_process['text'] = f"{int(i / (number / 101))}"
sleep(0.01)
pb.update()
label_process = Label(root, text="")
label_process.pack()
button_1 = Button(root, text="Click to Open File",
command=action_button_1)
button_1.pack()
pb = Progressbar(root, orient=HORIZONTAL,
mode="determinate", length=500)
pb.pack()
root.mainloop()
# CTK
import customtkinter as ctk
from time import sleep
number = 284
def action_button_open_file():
value = pb.get()
for i in range(number):
pb.set(i / (number / 100))
label.configure(text = value)
sleep(0.01)
pb.update()
app = ctk.CTk()
app.geometry("400x150")
app.grid_columnconfigure((0), weight=1)
button_= ctk.CTkButton(app, text="Pressed",
corner_radius=12,
command=action_button_open_file)
button_.grid(row=0, column=0, padx=20,
pady=10,
sticky="ew", columnspan=2)
label = ctk.CTkLabel(app, text='0 %',
compound='center')
label.grid(row=1, column=0, padx=20, pady=5,
sticky='ew', columnspan=2)
pb = ctk.CTkProgressBar(app, orientation="horizontal",
mode='determinate', determinate_speed=.5)
pb.grid(row=2, column=0, padx=20,
pady=5, sticky="ew", columnspan=2)
pb.set(0)
app.mainloop()
Ответы (1 шт):
Автор решения: Михаил
→ Ссылка
Все нормально! Разобрался. Просто не в ту сторону думал, все просто. Так же как в Tk.
number = 567
def click_button():
for i in range(number):
count = int(i / (number / 101))
pb.set(count / 100)
label.configure(text = f'{int(i / (number / 101))} %')
sleep(0.01)
pb.update()