【问题标题】:How can I set the text widget contents to the value of a variable in Python/Tkinter?如何将文本小部件内容设置为 Python/Tkinter 中变量的值?
【发布时间】:2015-06-20 17:46:01
【问题描述】:

我正在编写一个程序来帮助我完成可以自动化的琐碎工作。我的目的是:

  1. 将一段纯文本复制并粘贴到 Tkinter 文本小部件中

  2. 使用粘贴的文本块作为变量的值,以便变量可以将某些字符拉出并返回到该行。

我有一小段代码。例如,这是我的文本小部件以及我用来获取和打印其内容的代码行:

textBox = Text(root)

textBox.focus_set()

def get_input():
    print textBox.get(1.0, 'end-1c')

然后我使用一个使用命令get_input 的按钮。它在打印小部件的内容时起作用。

现在我知道如何正确调用内容并“获取”它们,我想了解如何将这些内容(字符串)分配给变量的值。

【问题讨论】:

  • 您是在问如何将函数调用的结果分配给变量?喜欢the_text = textBox.get(...)
  • 布莱恩·奥克利,是的,这就是我想要的。我需要我的代码最终与我放入输入字段的文本进行交互。

标签: python variables tkinter set assign


【解决方案1】:

认为你想要的是这个。它将删除所有文本,然后插入一个变量。

def set_input(value):
    text.delete(1.0, "END")
    text.insert("END", value)

仅适用于 Python 2.x。 Python 3 要求“END”是 Tk 命名空间中的 END。

【讨论】:

  • 插入变量?这是什么意思?
  • 在 OP 的问题中,他说他想(我认为)设置文本的值。这会删除所有文本,然后插入变量,基本上覆盖它。
  • 对我来说仍然没有任何意义。
  • 对,所以在Tkinter中,你不能直接设置一个文本小部件的值,所以你必须删除所有的文本,然后插入你要设置的文本。
【解决方案2】:
def set_value():
    text.insert("end-1c", value)

【讨论】:

  • 好的,这是一个有用的答案。然而,在 Stack Overflow 上用你的答案提供解释是正常的“风格”——即使这很简短。
猜你喜欢
  • 2013-04-28
  • 2022-01-03
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
相关资源
最近更新 更多