python - 无法更新标签文本
问题描述
我正在尝试运行一个简单的 GUI,它每隔几秒就更改一次标签文本。我是使用 tkinter 的新手,不了解每件事是如何工作的,但从我在网上收集的信息来看,after() 方法应该调用我编写的函数来更改标签文本,但它不起作用?任何帮助是极大的赞赏。
from tkinter import *
import time
root = Tk()
root.title("Blank")
root.geometry("480x240")
label = Label(
root,
text = "hello",
font = ("Arial", 42)
)
label.pack(fill = BOTH, expand = True)
def updater():
label.config(text = "Test 1")
time.sleep(1)
label.config(text = "Test 2")
root.mainloop()
root.after(2000, updater)
解决方案
其实只是自己想出来的。工作代码现在如下所示:
from tkinter import *
import time
root = Tk()
root.title("Blank")
root.geometry("480x240")
label = Label(
root,
text = " ",
font = ("Arial", 42)
)
label.pack(fill = BOTH, expand = True)
def changeString1():
label.config(text = "Test 1")
label.after(1000, changeString2)
def changeString2():
label.config(text = "Test 2")
label.after(1000, changeString1)
changeString1()
root.mainloop()
再次,因为我是 tkinter 的新手,我不知道这是否是一个可接受的解决方案,但它有效,所以我很高兴。
推荐阅读
- javascript - 自动随机播放数组 5 次
- javascript - 使用无效数据调用的函数 DocumentReference.set()
- shell - shell 内置函数在 exec 语句中失败
- ios - Rotate image and save in React-Native
- python - 我如何知道我的文件是使用 PyPDF2 附加在我的 PDF 中的?
- typescript - 打字稿泛型 - 类型“X”不能用于索引类型“Y”
- java - 避免observeOn的副作用
- sql - “FETCH FIRST”之前/之后“OFFSET”的区别
- javascript - 为什么我的 javascript 联系表单不起作用?
- java - Android的android studio主要活动中对话框的放置