[英]Python - TKinter - Editing Widgets
我需要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](這是一個列表),但是我假設一旦創建了小部件就可以了。 我可以在每次放置前創建小部件,但這會導致以后銷毀它的問題。
您可以使用.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")
這三種解決方案最終都會做同樣的事情,因此您可以選擇任意一個。
正如iCodez建議的那樣,您始終可以使用.configure(text = "new text")
方法。
或者,嘗試使用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")
可以將其鏈接到按鈕或其他基於事件的窗口小部件,否則,您可能想要更改文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.