【发布时间】:2018-07-20 18:17:23
【问题描述】:
我有一个文本字段:
input_field = tkinter.Entry(root).pack()
我将如何在代码的另一个区域设置它的文本?假设我想让该文本字段在单击按钮时将其文本设为"hi"。
【问题讨论】:
-
为了字面意思,您正在尝试设置在条目小部件中显示的字符串。
我有一个文本字段:
input_field = tkinter.Entry(root).pack()
我将如何在代码的另一个区域设置它的文本?假设我想让该文本字段在单击按钮时将其文本设为"hi"。
【问题讨论】:
不要将打包的结果赋给变量,这是没用的。创建一个小部件,将其存储在一个变量中,然后对其进行打包和控制:
input_field = tkinter.Entry(root)
input_field.pack()
input_field.insert(0,text)
【讨论】:
首先,分离你的布局管理器调用:
input_field = tkinter.Entry(root)
input_field.pack()
然后,当你想设置它时,删除它的内容:
input_field.delete('0', 'end')
然后添加你的字符串:
input_field.insert('0', "hi")
【讨论】:
提供的两个答案都足够了,但另一个可能派上用场的技巧是使用 Tkinter 变量包装器。 代码:
from tkinter import *
def setText():
var.set("set text here")
root = Tk()
var = StringVar()
input_field = Entry(root, text= var)
input_field.pack()
button = Button(root,text = "changes entry text", command=setText)
button.pack()
root.mainloop()
所以这真的很简单,我们要做的就是创建一个名为 var NOTE 的字符串变量。这可以称为任何东西。然后我们将入口小部件的文本设置为 variablke var。然后设置文本只需将 var 传递给任何函数并使用代码 .set("") 来设置文本。
注意。上面的语法不准确取决于你如何导入 tkinter
在维护或更新代码时使用此方法也很有用。 下面是执行代码的截图: Before clcik
【讨论】: