问题描述
我有一个程序,其函数需要API的时间,并在调用时返回这些时间。 以下代码应该使用Tkinter创建一个窗口并显示resp()返回的时间。 由于API的时间总是在变化,它每2秒更新一次。
L=Label(text=resp(), font=("Arial Bold", 35))
L.grid(row=1, column=1)
# Call this function where the value of your variable/number changes
def ChangeValue():
y=resp()
root.config(text=y)
print("Value Changed")
root.after(2000,lambda :ChangeValue())
root=Tk()
root.update()
root.after(2000,lambda :ChangeValue())
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
root.title("Abfahrt n?chster Zug")
root.geometry('1920x1080')
root.mainloop()
如果我运行这个代码,它会创建一个包含resp的小窗口 - 格式化就像它在第1行被告知的那样。但是那个窗口不像它应该的那样是1920x1080。
但它创建了一个1920x1080的第二个窗口,不包含任何文本。
我想要的是一个包含resp的1920x1080窗口(font = arial,fontsize = 35)
1楼
为什么这会创建2个窗口?
首先,使用以下语句创建标签:
L=Label(text=resp(), font=("Arial Bold", 35))
因为您还没有创建根窗口,所以tkinter会为您创建一个,因为必须有一个窗口可以放置标签。
接下来,使用以下语句显式创建另一个窗口:
root=Tk()
如果需要单个窗口,则需要在创建任何其他窗口小部件之前显式创建根窗口。