【发布时间】:2021-02-16 10:39:07
【问题描述】:
我正在尝试创建一个图形用户界面,它只是在间隔一段时间后一个接一个地打印消息。
list_of_tweets = [1, 2, 3, 4, 5]
for i in list_of_tweets:
print(i)
time.sleep(10)
window = Tk()
window.geometry("800x400")
window.title("Twitterscreen")
variable=StringVar()
def update_label():
while True:
for i in list_of_tweets:
print(i)
time.sleep(10)
variable.set(str(i))
window.update()
label = Label(master=window,
background='white',
foreground='black',
font=('Helvetica', 20),
width=14,
height=3)
label.config(width=200, height=300)
label.pack()
mainloop()
到目前为止,这是我的代码。当我运行它时,结果只是一个白屏。同样,我希望标签一次打印出 list_of_tweets 一个,间隔 10 秒。
【问题讨论】:
-
我应该补充一下,我对 Tkinter 完全陌生,所以请原谅任何愚蠢的错误。
-
使用
time.sleep()会使 GUI 无响应 -
有什么办法可以在两者之间暂停一下吗?
-
window.after()是这样做的一种方式。但我们无法运行此代码,因此我们不知道public_tweets或tweet是什么 -
您想知道为什么会显示一个巨大的白色屏幕吗?它是您的标签背景和您配置的大小。只需减小大小并从主块调用函数
标签: python loops user-interface tkinter label