如何使用 tkinter 将变量添加到方法?

问题描述 投票:0回答:1

我正在学习Python并有以下任务: 我希望我的代码显示用户在使用 tkinter 的 Button 方法时编写的文本。

但是它没有显示任何内容,我相信变量(文本)在方法(button_clicked)内不起作用。 看来我正在隐藏我的变量(文本),并且我已经尝试将其设为全局变量,但没有效果。 任何帮助将不胜感激。

from tkinter import *
window = Tk()
window.title("My first GUI program")

text="My text"

my_label = Label(text = "Hello", font= ("Arial", 24, "bold"))
my_label.pack()

#Studying Entry
input = Entry(width=10)
input.pack()
text = input.get()

#Button
def button_clicked():
   -my_label["text"] = text

button = Button(text="Click Me", command = button_clicked)
button.pack()

window.mainloop()
python tkinter
1个回答
0
投票

文本不会显示,因为单击按钮时您没有从

Entry
小部件中检索文本。在您的代码中,您在创建
Entry
后尝试检索它的文本,这就是为什么它不显示的原因。您可以像这样更新您的
button_clicked()
函数:

def button_clicked():
   my_label["text"] = input.get()

如果您想将文本存储在

text
变量中并显示它,您可以使用以下代码:

def button_clicked():
   global text
   text = input.get()

   my_label["text"] = text
© www.soinside.com 2019 - 2024. All rights reserved.