Помогите починить Progressbar

Progressbar не останавливается после того, как дошел до конца, а идет на новый круг.

Не понимаю как это исправить?

import customtkinter as ctk
import tkinter as tk
from tkinter import ttk
import customtkinter as CTk
from PIL import Image


class CTkProgressbar(ctk.CTkFrame):
    def __init__(self, master, *args, **kwargs):
        super().__init__(master, *args, **kwargs)

        self._value = tk.DoubleVar()
        self._value.set(0)

        self.progressbar = ttk.Progressbar(self, variable=self._value, maximum=100.0, mode='determinate')
        self.progressbar.pack(side='left', fill='both', expand=True, padx=10)

    def start(self):
        self.progressbar.start()

    def stop(self):
        self.progressbar.stop()

    def set(self, value):
        self._value.set(value)


class App(ctk.CTk):
    def __init__(self):
        super().__init__()

        self.geometry("500x550")
        self.title("MyApp")
        self.resizable(width=True, height=True)

        ctk.set_appearance_mode("dark")  # Modes: "System" (standard), "Dark", "Light"
        ctk.set_default_color_theme("blue")  # Themes: "blue" (standard), "green", "dark-blue")

        self.numbers = ['X', 'X1.02', 'X4.68', 'X2.17', 'X26.56', 'X1.00','X2.86', 'X1.26', 'X17.11']
        self.current_index = 0

        self.frame_1 = ctk.CTkFrame(master=self)
        self.frame_1.pack(pady=10, padx=10, fill="both", ipadx=10, ipady=10)

        custom_font = ("Helvetica", 60, "bold")
        self.label_1 = CTk.CTkLabel(master=self.frame_1, text=str(self.numbers[self.current_index]), justify=CTk.LEFT,
                                    font=custom_font)
        self.label_1.pack(pady=10, padx=10)

        self.progressbar_1 = CTkProgressbar(self.frame_1)
        self.progressbar_1.pack(pady=10, fill='both')

        self.button_1 = ctk.CTkButton(master=self.frame_1, text='Кнопка', command=self.button_callback)
        self.button_1.pack(pady=30, padx=10, ipadx=10, ipady=10)

        self.logo = CTk.CTkImage(dark_image=Image.open("fly.png"), size=(200, 200))
        self.logo_label = CTk.CTkLabel(master=self, text='', image=self.logo)
        self.logo_label.pack(ipady=10, ipadx=10, expand=1)

        self.lucky_jet_label = CTk.CTkLabel(master=self, text=" ", font=("Aria", 40, "bold"))
        self.lucky_jet_label.pack(pady=1)

    def button_callback(self):
        self.progressbar_1.start()
        self.after(6021, lambda: self.update_label())

    def update_label(self):
        self.progressbar_1.stop()
        self.current_index += 1
        if self.current_index >= len(self.numbers):
            self.current_index = 0
        number = self.numbers[self.current_index]
        self.label_1.configure(text=str(number))


if __name__ == "__main__":
    app = App()
    app.mainloop()

Ответы (1 шт):

Автор решения: chikibamboni

В твоем коде мне довольно трудно ориентироваться, но в классическом Tkinter есть функция .update(), попробуй её.

→ Ссылка