【问题标题】:Displaying time in tkinter label在 tkinter 标签中显示时间
【发布时间】:2020-07-23 16:24:48
【问题描述】:

我试图让当前时间在 tkinter 标签中每秒显示和更新。

我假设我这样做完全错误。我对此很陌生,并试图一点一点地解决它。

from tkinter import *
import sys
import time

#function to close window when ESC is pressed
def close(event):
    sys.exit()

def curtime():
    while 1==1:
        current_time = time.strftime('%H:%M:%S')
        print(current_time)
        time.sleep(1)

#Main System
window = Tk()
window.state('zoomed')
window.configure(bg='#3a3a3a')

#Frames
top_frame = Frame(window)
top_frame.pack(side=TOP)
bottom_frame = Frame(window)
bottom_frame.pack(side=BOTTOM)

#Labels
header_label = Label(top_frame, text="SARA", background='#3a3a3a', fg='#ffffff', font=("calibri", 50))
header_label.pack(side=LEFT)



header_label2 = Label(top_frame, textvariable = curtime(), background='#3a3a3a', fg='#ffffff', font=("calibri", 50))
header_label2.pack(side=LEFT)




#on press ESC window closes
window.bind('<Escape>', close)
window.mainloop()

【问题讨论】:

  • 你做过研究吗?这个网站上有很多关于用 tkinter 显示时钟和计时器的问题。
  • 是的,我已经阅读了其中的一堆,但似乎无法找到显示我想要达到的结果的内容。我将发布作为最后的手段
  • this 是一个类似的问题。

标签: python tkinter


【解决方案1】:
#function to get timer to calculate
def timer():
    timer_tick = strftime("%I:%M:%S")
    time_label.configure(text=timer_tick)
    time_label.after(1000, timer)

time_label = Label(top_frame, background='#3a3a3a', fg='#ffffff', font=("calibri", 50))
time_label.pack(side=LEFT)




#if statement which constantly returns true to make the timer refresh and tick
if __name__ == "__main__":
    timer()

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2022-12-29
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多