![](/img/trans.png)
[英]How to print time the button got clicked in the Tkinter window and display it in Tkinter window?
[英]How to get/print Updated Time per second in a Tkinter window
我想使用 Tkinter 在窗口中的标签上打印当前时间(以秒为单位),但不是每 500 毫秒更新一次,而是保持不变。
有什么想法可以让这件事正确吗?
def timeout():
t=time.time()
window.after(500, timeout)
return t
window = Tkinter.Tk()
window.title("Example")
time_label= Tkinter.Label(text=timeout(),
bg="black",fg="white").grid(row=1,column=2)
window.geometry("100x100+100+100")
window.after(500, timeout)
window.mainloop()
我应该为此使用 Label 以外的其他东西吗?
该label
将获取当前时间,然后不再执行任何操作。 timeout
函数将在doing_it
后调用doing_it
,但我在任何地方都没有看到它的定义。 这是您想要执行的操作:
def timeout():
time_label.config(text=time.time())
window.after(500, timeout)
window = Tkinter.Tk()
window.title("Example")
time_label= Tkinter.Label(text='',
bg="black",fg="white")
time_label.grid(row=1,column=2)
timeout()
window.geometry("100x100+100+100")
window.mainloop()
这会将label
初始化为空字符串,然后立即调用timeout
。 该函数将label
配置为当前时间,然后对自身的调用进行排队。 在必要的时间过去后, Tkinter
将调用timeout
,它更新label
并将另一个调用排入队列。 这将继续,直到你停止它。 如果您想这样做,请创建一个标志(例如running=True
)并在调用after()
之前检查它。 然后,当您将其设置为False
, timeout()
将停止告诉Tkinter
调用它。
仔细阅读这个,每一个代码......
from tkinter import *
import time
#defining TK()
root = Tk()
#defining Functions
def timesnow():
currentime = time.strftime ("%H:%M:%S")
timelabel.config (text=currentime)
timelabel.after(1000, timesnow)
#creatng GUI's
timelabel = Label(root, font=("Courier", 44))
timelabel.grid()
timesnow()
input = Entry(root)
input.grid()
setbutton = Button(text = "Set Your ALARM")
setbutton.grid()
root.mainloop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.