gpt4 book ai didi

基于Python的简单计时器脚本无法正常工作

转载 作者:行者123 更新时间:2023-12-01 09:06:37 24 4
gpt4 key购买 nike

我正在测试一个简单计时器的 Python 脚本,但它在 Tkinter 窗口中没有显示任何内容。

import time
from tkinter import *

def clicked():
val = int(val_Box.get())
val1 = 0
global display_Time

while val1 < val:
display_Time.configure(text=str(val))
display_Time = Label(window,text="",fg="Blue")
display_Time.grid(column=10,row=10)

time.sleep(1)
val -= 1
display_Time.configure(text="Timer Finished")

window = Tk()
window.title("Simple Timer App")
window.geometry("300x200")

clock_Time = Label(window,text= "Enter Clock Time",fg="Green")
clock_Time.grid(column=0,row=0)

val_Box = Entry(window,width = 10,bg = "Yellow")
val_Box.grid(column=1,row=0)

display_Time = Label(window,text="" ,fg="Blue")
display_Time.grid(column=2,row=10)

start_Button = Button(window,text = "START",fg = "Blue",command = clicked)
start_Button.grid(column=0,row=10)

window.mainloop()

输出未显示输入值的连续减小。我需要一些建议。

这就是计时器的样子。

Timer

最佳答案

您需要更新窗 Eloquent 能使更改生效。您可以通过调用window.update()来实现。此外,您还可以覆盖 while 循环期间充当计时器显示的标签。没有理由这样做。所以你可以安全地删除相应的两行。实际上,重写的 while 循环应该如下所示:

while val1 < val:
display_Time.configure(text=str(val))
window.update()
time.sleep(1)
val -= 1

另请注意,clicked 函数将阻塞您的 GUI 线程,直到计时器完成为止。启动一个单独的计时器线程可能更合适,例如 from threading import Timer (查看 this answer 了解如何使用它重复执行任务 - 例如更新 GUI)。

关于基于Python的简单计时器脚本无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51993957/

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