Я делал таймер, который помещался на холст.Все шло хорошо, пока я не поместил цикл while, это заставило мой холст Tkinter работать.Вот упрощенная версия моей проблемы.
from tkinter import *
class Second(Frame):
def __init__(self,master):
super(Second, self).__init__(master)
self.grid()
self.TimerFrame = Frame(self)
self.create_Timer_widgets()
self.TimerFrame.grid()
def create_Timer_widgets(self):
self.canvas = Canvas(self.TimerFrame,height = 100, width = 850, bg = "light grey")
self.canvas.grid(row=0,column=0)
self.canvas.create_text(400,50,text ="X")
self.canvas.create_text(75,50,text="N)")
mins = 1
while mins > 0 :
if len(str(mins)) == 1 :
self.canvas.create_text(825,50,text = "0")
self.canvas.update()
root = Tk()
x = Second(root)
root.configure(background='light grey')
root.mainloop()
Когда я запускаю этот код, ничего не происходит.Снаряды просто ничего не делают.После удаления цикла while:
mins = 1
while mins > 0 :
if len(str(mins)) == 1 :
self.canvas.create_text(825,50,text = "0")
self.canvas.update()
Это часть кода ^^, мой код сработал.Отображение все хорошо.Я нашел что-то в Интернете, но это не сильно помогло.Я также удалил часть self.TimerFrame, и это исправило мой код, даже если цикл while не был удален, но я не могу сделать это таким образом, потому что тогда мой код просто испортился.Спасибо за помощь, ребята.