我正在尝试创建一个显示时间的tkinter页面,并且应该不断对其进行更新。我已经尝试过:
from tkinter.font import *
import time
def SetTime():
global time_date
time_date = time.strftime("%H:%M")
InfoTime.set(time_date)
Main = Tk()
Main.geometry("1600x1200")
Main.title("Time")
FontStyle = Font(family = "Times New Roman", size = 48)
InfoTime = StringVar()
TitleText = Label(Main,textvariable = InfoTime,font = FontStyle).pack()
while True:
SetTime()
但是,运行While True:
行并运行SetTime()
由于某些原因,不断地阻止tkinter页面(主要)打开。这对我的许多tkinter项目都是一个问题。
[请注意,我在IDLE中运行python 3.7.2。谢谢。
这应该做:
from tkinter import *
from tkinter.font import *
import time
Main = Tk()
Main.geometry("1600x1200")
Main.title("Time")
FontStyle = Font(family = "Times New Roman", size = 48)
TitleText = Label(Main, font = FontStyle)
TitleText.pack()
time_date1 = ''
def SetTime():
global time_date1
global TitleText
# Gets current time
time_date2 = time.strftime("%H:%M")
# If time has changed, update it
if time_date2 != time_date1:
time_date1 = time_date2
TitleText.config(text=time_date2)
# Repeats function every 200 milliseconds
TitleText.after(200, SetTime)
SetTime()
Main.mainloop()
评论几乎可以解释所有内容。我还清理并重新格式化了您的代码,使其看起来更好。