Tkinter Tutorial - Entrada
O widget Tkinter Entry
permite ao usuário inserir uma única linha de texto que tenha apenas um tipo de fonte. Se forem necessárias mais linhas, você deve utilizar o widget Tkinter Text
. O widget Entry
também pode ser utilizado para exibir o texto de uma única linha.
Exemplo de Entrada de Tkinter
import tkinter as tk
from tkinter import ttk
def callbackFunc():
resultString.set("{} - {}".format(landString.get(), cityString.get()))
app = tk.Tk()
app.geometry("200x100")
labelLand = tk.Label(app, text="Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app, text="City")
labelCity.grid(column=0, row=1, sticky=tk.W)
landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)
entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)
resultButton = tk.Button(app, text="Get Result", command=callbackFunc)
resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)
resultString = tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)
app.mainloop()
Este código de exemplo cria uma GUI que o usuário pode digitar os nomes do país e da cidade, então ele exibe as informações digitadas após clicar no botão Get Result
.
entryLand = tk.Entry(app, width=20, textvariable=landString)
Ele cria uma instância Tkinter Entry
widget cuja largura é de 20 unidades de caracteres. Ele só poderia exibir 20 caracteres na caixa de entrada, portanto, você precisa usar as teclas de seta para exibir o resto da linha se a linha de texto tiver mais de 20 caracteres.
O texto do widget de entrada é atribuído a uma variável de string Tkinter landString
. Você pode obter o texto com o método landString.get()
, e definir o texto com o método landString.set()
. O texto na caixa de entrada é atualizado automaticamente se o método set()
for utilizado.
get()
method of StringVar
, você também poderia utilizar get()
method of Entry
widget object to retrive the string in Entry
box.Texto Padrão de Entrada de Tkinter
Temos duas formas de definir o texto padrão de Entry
,
set()
Método para definir Tkinter Entry
Texto padrão
Como indicado no exemplo acima, você poderia utilizar o método set()
de StringVar
para definir o texto padrão de Tkinter Entry
.
Por exemplo,
landString.set("Netherlands")
Ele definirá o texto padrão como Netherlands
.
insert()
Método para definir Tkinter Entry
Texto padrão
O método insert(index, string)
insere o texto string
na posição dada index
. E se index
for END
, ele anexa o texto ao widget Entry
.
entryLand.insert(tk.END, "Netherlands")
Ele define o texto padrão para ser Netherlands
.
index
for maior do que o comprimento da string existente no widget, é igual a insert(END, string)
.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