我需要TKinter中的一个小部件作为一个全局小部件,但是,我需要每次都显示不同的文本。我对TKinter很新,还没有成功设法编辑小部件中的选项。
我认为它与widget.add_option()有关,但文档对我来说很混乱,我无法弄清楚命令。
我特别需要编辑text =“”部分。
由于
编辑:
gm1_b_current_choice_label = Label(frame_gm1_b, text = "Current input is:\t %s"% str(save_game[6]))
我特别需要在窗口小部件创建中更新save_game [6](这是一个列表),但我假设一旦创建了窗口小部件就是它。我可以在每次放置之前创建小部件,但这会导致稍后销毁它的问题。
答案 0 :(得分:3)
您可以使用.config
方法更改Tkinter小部件上的选项。
要演示,请考虑这个简单的脚本:
from Tkinter import Tk, Button, Label
root = Tk()
label = Label(text="This is some text")
label.grid()
def click():
label.config(text="This is different text")
Button(text="Change text", command=click).grid()
root.mainloop()
单击该按钮时,标签的文本会发生变化。
请注意,您也可以这样做:
label["text"] = "This is different text"
或者这个:
label.configure(text="This is different text")
所有这三种解决方案最终都会做同样的事情,因此您可以选择自己喜欢的方式。
答案 1 :(得分:2)
您可以随时使用.configure(text = "new text")
方法,就像iCodez建议的那样。
或者,尝试使用StringVar
作为text_variable parameter
:
my_text_var = StringVar(frame_gm1_b)
my_text_var.set("Current input is:\t %s"% str(save_game[6]))
gm1_b_current_choice_label = Label(frame_gm1_b, textvariable = my_text_var)
然后,您可以通过直接更改my_text_var
:
my_text_var.set("Some new text")
这可以链接到按钮或其他基于事件的小部件,或者您想要更改文本。