Как сделать Progressbar в окне на холсте Canvas?
Мне нужно показывать очки при каждом клике на кнопку.
Как сделать Progressbar в окне на холсте Canvas?
canvas.pack()
clicks = 0
def click():
global clicks
clicks += 2
canvas.delete("all")
canvas.create_text(250, 10, text = clicks, font=('Arial Black', 10, 'bold'), fill = "#4587de")
canvas.pack()
b1 = PhotoImage(file=здесь мой файл)
Button(root, image=b1, bd=0, command=click, height=100, width=100).place(x=220,y=85)
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
from tkinter import *
from tkinter import ttk
class Root(Tk):
def __init__(self):
super().__init__()
self.i = 0
self.canvas = Canvas()
self.canvas.place(relx=0,rely=0)
self.button = Button(self, text="Click me", command=self.animation)
self.button.pack()
self.label=Label(text="Вы еще не нажимали кнопкую")
self.label.place(relx=0.5, rely=0.85, anchor='c')
self.pb = ttk.Progressbar(orient='horizontal', mode="determinate", length=480)
self.pb.place(relx=0.5, rely=0.9,anchor='c')
self.pb["value"] = 0
def animation(self):
self.i += 1
if self.i > 100:
self.label["text"] = f'Вы нажали кнопку 100 раз. Это все.'
return
self.pb["value"] = self.i
self.label["text"] = f'Вы нажали кнопку {self.i} раз.'
root = Root()
root.geometry("500x400+500+200")
root.mainloop()
