gpt4 book ai didi

python - While 循环导致 Tkinter Canvas 无法工作

转载 作者:行者123 更新时间:2023-12-01 08:52:45 25 4
gpt4 key购买 nike

我正在制作一个放置在 Canvas 上的计时器。一切都很顺利,直到我放置了一个 while 循环,这使得我的 Tkinter Canvas 可以工作。这是我的问题的简化版本。

    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 循环未删除,但我不能这样做,因为那样我的代码就会困惑。感谢各位的帮助。

最佳答案

这段代码的问题是它永远不会退出 while 循环。如果有的话那就更好了 -

  1. 您只需运行一次代码并删除实际的循环部分,

  2. 如果您想退出循环时设置mins = 0。由于永远不会满足退出条件,因此循环将永远进行。

关于python - While 循环导致 Tkinter Canvas 无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52998380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com