Como definir o texto do Widget de texto Tkinter com um botão

O widget Tkinter Text não tem um método dedicado set para definir o conteúdo do Text. Ele precisa primeiro apagar o conteúdo existente e depois inserir o novo conteúdo se tivermos que alterar o conteúdo completamente.

Códigos de trabalho completos para definir texto em Text com métodos delete e 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 Conteúdo do Tkinter Text_delete e método de inserção

textExample.delete(1.0,"end")

O método de Text elimina o intervalo de caracteres especificado na caixa Text, como introduzido no artigo como limpar a caixa de texto de Tkinter.

1.0 é o primeiro caractere e "end" é o último caractere do conteúdo do widget Text. Portanto, ele apaga todo o conteúdo dentro da caixa de texto.

textExample.insert(1.0, text)

O método insert insere o texto na posição especificada. No código acima, ele insere o texto no início.

Artigo relacionado - Tkinter Text

  • Como excluir o conteúdo da caixa de texto Tkinter
  • Como definir a fonte do widget de texto Tkinter