簡體   English   中英

Python-TKinter-編輯小部件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM