Python Tkinter运行循环
我是一名新程序员。我刚刚从python学习了Tkinter,为我的代码创建了一个窗口。我想创建一个每30秒循环一次的代码并更改窗口上的文本。这是我到目前为止。Python Tkinter运行循环
import time
from Tkinter import *
root = Tk()
t=1
while t <= 100:
thelabel = Label(root, Text=t)
thelabel.pack()
root.mainloop()
time.sleep(30)
t += 1
但是这段代码由于某种原因不起作用。 错误代码:
Traceback (most recent call last):
File "File.py", line 6, in <module>
thelabel = Label(root, Text=t)
File "/user/lib/python2.7/lib-tk/Tkinter.py", line 2590, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
File "/user/lib/python2.7/lib-tk/Tkinter.py", line 2089, in __init__
(widgetName, self._w) + extra + self._options(cnf))
tkinter.TclError: unknown option "-Text"
(我有固定的错字从之前)
要更新Label
,有使用textvariable
与StringVar
沿着一个选项。看到这个页面:类似这样的http://effbot.org/tkinterbook/label.htm
东西:
v = StringVar()
Label(master, textvariable=v).pack()
v.set("New Text!")
需要注意的是你可以使用'textvariable'选项,但这不是唯一的方法。 –
我试过你说的话,我的号码仍然没有改变。这里是我的代码: –
从Tkinter导入时间* root = Tk()t = StringVar()thelable = Label(root,textvariable = t).pack()num = 1 t.set(str(num))root。当num
你的意思是说',而T Anonymous
请修复错字,运行它,然后发布你得到的错误或描述它显示的行为以及所需的行为。 –
我使用了给定的代码,我相信你应该将'Label(root,Text = t)'变成'Label(root,text = t)'。这应该修复错误代码。 –