Windows 如何在Tkinter窗口中更新信息?

Windows 如何在Tkinter窗口中更新信息?,windows,python-2.7,position,tkinter,updates,Windows,Python 2.7,Position,Tkinter,Updates,(Python初学者,如果问题太幼稚,请原谅)在“Hello”标签下面,创建一个标签或条或任何东西来显示我的两只海龟的更新位置(我所说的更新是指海龟移动时,其位置的两个坐标同时改变) 进口Tkinter 进口海龟 def run_turtles(*args): for t, d in args: t.circle(250, d) root.after_idle(run_turtles, *args) root = Tkinter.Tk() root.withdr

(Python初学者,如果问题太幼稚,请原谅)在“Hello”标签下面,创建一个标签或条或任何东西来显示我的两只海龟的更新位置(我所说的更新是指海龟移动时,其位置的两个坐标同时改变) 进口Tkinter 进口海龟

def run_turtles(*args):
    for t, d in args:
        t.circle(250, d)
    root.after_idle(run_turtles, *args)

root = Tkinter.Tk()
root.withdraw()

frame = Tkinter.Frame(bg='black')
Tkinter.Label(frame, text=u'Hello', bg='grey', fg='white').pack(fill='x')
canvas = Tkinter.Canvas(frame, width=750, height=750)
canvas.pack()
frame.pack(fill='both', expand=True)

turtle1 = turtle.RawTurtle(canvas)
turtle2 = turtle.RawTurtle(canvas)

turtle1.ht(); turtle1.pu()
turtle1.left(90); turtle1.fd(250); turtle1.lt(90)
turtle1.st(); turtle1.pd()

turtle2.ht(); turtle2.pu()
turtle2.fd(250); turtle2.lt(90)
turtle2.st(); turtle2.pd()

root.deiconify()

run_turtles((turtle1, 3), (turtle2, 4))

root.mainloop()

非常感谢

保存对标签的引用:
turtleLabel=Tkinter.Label(frame,text=u'Hello',bg='grey',fg='white')

然后在您的
run_turtles
-功能中,您可以通过设置标签的文本来更新标签:

turtleLabel['text'] = "Here be coordinates"
您还可以使用
configure
方法更改文本:

turtleLabel.configure(text="Here be coordinates")

请注意,您不能在创建小部件的同一语句中调用
pack
pack
返回
None
,这将否定尝试保存对小部件的引用。

turtleLabel[“text”]=turtle1.pos()这是我添加到ran_turtles中的代码,但由于“NoneType”对象不支持项目分配,程序在该行崩溃,所以我有点困惑,对吗now@user2006082:此答案的原始版本有一个缺陷,导致您报告错误。我更新了答案,试图澄清。是的,我的错。正如Bryan指出的,将对.pack()的调用移动到下面自己的一行:
turtleLabel=Tkinter.Label(frame,text=u'Hello',bg='grey',fg='white')turtleLabel.pack(fill='x')