我想更新标签的位置,所以在用.place()方法替换它之后,我使用.update()方法。问题是,我的窗口上的所有小部件都会得到更新,我不希望这样,因为程序工作更努力,我在“移动”标签时会看到滞后。我能做什么
...
def update_label:
l.place(relx = 0.2, rely = 0.1+0.2)
l.update()#here the program is updating every widget
l=tk.Label(root)
l.place(relx = 0.2, rely = 0.1)
b=Button(root,command(update_label()))
b.pack()
...
事实上,我想在update_label函数中替换多个标签,但我想让示例更容易理解
您可以使用
.update()
方法,但是您的代码有一些问题首先,将
tk
属性与标签一起使用,而不是与按钮一起使用。尽量保持一致我修改了你的代码,使它更干净。它现在起作用了:
希望这有帮助
编辑:
写入
l.update()
不会更新或移动任何其他小部件。如果希望移动/更新所有小部件,则必须将它们放入update_label()
函数中希望这有帮助
要更新单个小部件的位置,可以使用^{} 方法临时删除它,然后使用新值调用其
place()
方法(再次)重新定位它。由于您似乎希望根据小部件当前所在的位置更新位置,因此首先使用place_info()
小部件方法从中检索有关小部件当前位置的信息下面是一个基于您问题中代码的可运行示例,它说明了我的建议:
相关问题 更多 >
编程相关推荐