O widget Entry
do Tkinter é um elemento crucial para construir aplicativos interativos, permitindo que os usuários insiram texto de uma única linha. Este tutorial fornece um guia completo para usar o widget Entry
, cobrindo o uso básico, a configuração de texto padrão e o tratamento da entrada do usuário.
Sumário
- Criando um Widget Entry Básico
- Definindo Texto Padrão e Efeitos de Placeholder
- Recuperando e Processando a Entrada do Usuário
Criando um Widget Entry Básico
Vamos começar com um exemplo simples para criar e exibir um widget Entry
:
import tkinter as tk
root = tk.Tk()
root.title("Exemplo de Entry Tkinter")
entry = tk.Entry(root)
entry.pack(pady=20)
root.mainloop()
Este código importa o tkinter
, cria a janela principal do aplicativo, adiciona um widget Entry
e, em seguida, inicia o loop principal de eventos. O método pack()
posiciona o widget Entry
com 20 pixels de preenchimento vertical.
Definindo Texto Padrão e Efeitos de Placeholder
Fornecer texto padrão dentro do widget Entry
melhora a experiência do usuário. Embora simplesmente inserir texto usando insert(0, "text")
funcione, uma abordagem mais amigável é criar um placeholder que desaparece quando o usuário clica dentro do campo. Isso requer vinculação de eventos, que demonstraremos abaixo:
import tkinter as tk
def on_entry_click(event):
if entry.get() == "Digite o texto aqui":
entry.delete(0, tk.END)
entry.insert(0, "")
entry.config(fg = 'black')
def on_focusout(event):
if entry.get() == "":
entry.insert(0, "Digite o texto aqui")
entry.config(fg = 'grey')
root = tk.Tk()
root.title("Tkinter Entry com Placeholder")
entry = tk.Entry(root)
entry.insert(0, "Digite o texto aqui")
entry.config(fg = 'grey')
entry.bind("", on_entry_click)
entry.bind("", on_focusout)
entry.pack(pady=20)
root.mainloop()
Este exemplo aprimorado usa duas funções, on_entry_click
e on_focusout
, vinculadas aos eventos <FocusIn>
e <FocusOut>
, respectivamente. Essas funções gerenciam o texto do placeholder, limpando-o ao focar e restaurando-o quando o campo perde o foco.
Recuperando e Processando a Entrada do Usuário
Para recuperar o texto inserido pelo usuário, use o método get()
. Veja como incorporar isso ao nosso exemplo:
import tkinter as tk
# ... (código do placeholder do exemplo anterior) ...
def get_input():
user_input = entry.get()
print(f"Usuário digitou: {user_input}")
button = tk.Button(root, text="Obter Entrada", command=get_input)
button.pack(pady=10)
root.mainloop()
Isso adiciona um botão que, quando clicado, chama a função get_input()
. Esta função recupera o texto do widget Entry
usando entry.get()
e o imprime no console. Isso demonstra uma maneira básica de lidar com a entrada do usuário; um tratamento de erros e uma validação de dados mais sofisticados seriam necessários em um aplicativo de produção.
Este tutorial fornece uma base sólida para trabalhar com o widget Entry
do Tkinter. Lembre-se de experimentar e explorar mais para construir aplicativos mais complexos e interativos.