HOWTO · Tkinter

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

O widget Tkinter Text não tem um método definido para alterar seu conteúdo, precisamos combinar métodos de exclusão e inserção para definir ou alterar o conteúdo do Tkinter Text.

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.