Como definir o texto do widget de entrada do Tkinter com um botão
-
Método Tkinter
deleteeinsertpara definir o conteúdo doEntry -
Tkinter
StringVarMétodo para definir o conteúdo do TkinterEntryWidget
Temos dois métodos para definir ou alterar o texto do widget Tkinter Entry clicando em um botão,
- Método Tkinter
deleteeinsert. - Tkinter
StringVarMétodo
Método Tkinter delete e insert para definir o conteúdo do Entry
O widget Tkinter Entry não tem um método dedicado de set para definir o conteúdo da Entry. Ele precisa primeiro deletar 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 o texto no método Entry com os métodos delete e insert
import tkinter as tk
root = tk.Tk()
root.geometry("400x50")
def setTextInput(text):
textExample.delete(0, "end")
textExample.insert(0, text)
textExample = tk.Entry(root)
textExample.pack()
btnSet = tk.Button(
root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()
root.mainloop()

textExample.delete(0, "end")
O método delete de Entry exclui o intervalo especificado de caracteres em Entry.
0 é o primeiro caractere e "end" é o último caractere do conteúdo no widget Entry. Portanto, delete(0, "end") apaga todo o conteúdo dentro da caixa Entry.
textExample.insert(0, text)
O método insert insere o texto na posição especificada. No código acima, ele insere o text no início.
Tkinter StringVar Método para definir o conteúdo do Tkinter Entry Widget
Se o conteúdo do widget Tkinter Entry foi associado a um objeto StringVar, ele poderia mudar automaticamente o conteúdo do widget Tkinter Entry toda vez que o valor do StringVar fosse atualizado.
Códigos de trabalho completos para definir texto em Entry com objeto StringVar
import tkinter as tk
root = tk.Tk()
root.geometry("400x50")
def setTextInput(text):
textEntry.set(text)
textEntry = tk.StringVar()
textExample = tk.Entry(root, textvariable=textEntry)
textExample.pack()
btnSet = tk.Button(
root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()
root.mainloop()
textEntry = tk.StringVar()
textExample = tk.Entry(root, textvariable=textEntry)
textEntry é um objeto StringVar e está associado ao conteúdo do texto, ou em outras palavras, a opção textvariable no widget Entry.
textEntry.set(text)
Se a textEntry for atualizada para ter um novo valor text, então os widgets cuja textvariable estão associados a ela serão automaticamente atualizados.
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