Как настроить виджет для ввода текста с помощью кнопки

Виджет Tkinter Text не имеет выделенного метода set для установки содержимого Text. Сначала необходимо удалить существующее содержимое, а затем вставить новое содержимое, если необходимо полностью изменить содержимое.

Полные рабочие коды для установки текста в Text с помощью методов delete и insert

import tkinter as tk
root = tk.Tk()
root.geometry("400x240")

def setTextInput(text):
    textExample.delete(1.0,"end")
    textExample.insert(1.0, text)

textExample = tk.Text(root, height=10)
textExample.pack()

btnSet = tk.Button(root, 
                   height=1, 
                   width=10, 
                   text="Set", 
                   command=lambda:setTextInput("new content"))
btnSet.pack()

root.mainloop()

Tkinter Set Content Tkinter Text_delete и метод вставки

textExample.delete(1.0,"end")

Метод delete Text удаляет заданный диапазон символов в Text окне, как показано в статье как очистить Tkinter Text box.

1.0 - первый символ, а "end" - последний символ содержимого виджета Text. Поэтому он удаляет все содержимое внутри поля Text.

textExample.insert(1.0, text)

Метод insert вставляет текст в указанную позицию. В приведенном выше коде он вставляет text в начало.

Сопутствующая статья - Tkinter Text

  • Как сделать так, чтобы виджет Tkinter Text был только для чтения
  • Как получить входную информацию из текстового поля Tkinter
  • Как удалить содержимое текстовой коробки Tkinter
  • Как установить шрифт текстового виджета Tkinter
  • comments powered by Disqus