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

Jinku Hu 15 fevereiro 2024
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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artigo relacionado - Tkinter Text