【问题标题】:set text of text widget later in code稍后在代码中设置文本小部件的文本
【发布时间】:2018-07-20 18:17:23
【问题描述】:

我有一个文本字段:

 input_field = tkinter.Entry(root).pack()

我将如何在代码的另一个区域设置它的文本?假设我想让该文本字段在单击按钮时将其文本设为"hi"

【问题讨论】:

标签: python tkinter


【解决方案1】:

不要将打包的结果赋给变量,这是没用的。创建一个小部件,将其存储在一个变量中,然后对其进行打包和控制:

input_field = tkinter.Entry(root)
input_field.pack()
input_field.insert(0,text)

【讨论】:

    【解决方案2】:

    首先,分离你的布局管理器调用:

    input_field = tkinter.Entry(root)
    input_field.pack()
    

    然后,当你想设置它时,删除它的内容:

    input_field.delete('0', 'end')
    

    然后添加你的字符串:

    input_field.insert('0', "hi")
    

    【讨论】:

      【解决方案3】:

      提供的两个答案都足够了,但另一个可能派上用场的技巧是使用 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

      After click

      【讨论】:

      • 所以我只是在单击按钮时添加了按钮,它将运行 setText 函数来更改文本
      猜你喜欢
      • 1970-01-01
      • 2011-03-14
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2021-08-10
      • 1970-01-01
      • 2020-08-25
      相关资源
      最近更新 更多