CodeGym /Cursos Java /Python SELF PT /Botões e Campos de Entrada

Botões e Campos de Entrada

Python SELF PT
Nível 49 , Lição 2
Disponível

1. Criando Botões no Tkinter

Por que precisamos disso?

Imagina que você está criando uma calculadora. Quem iria usar se não fosse possível inserir dados e clicar no botão de igual? Ou talvez você esteja desenvolvendo um formulário para entrada de dados. Bem, aqui os campos de entrada e os botões são muito úteis também.

Os botões e os campos de entrada permitem que o usuário interaja diretamente com o programa e seu comportamento. É como uma varinha mágica que transforma uma janela passiva numa ferramenta ativa.

Como é um botão no Tkinter?

A biblioteca Tkinter oferece o widget Button para criar botões. Esse widget é bem flexível e permite personalizar o texto do botão, a cor, além de atribuir uma ação que será executada ao clicar.

É assim que se faz:

import tkinter as tk

# Criando a janela principal
root = tk.Tk()
root.title("Meu aplicativo")

# Criando um botão e adicionando à janela
button = tk.Button(root, text="Clique em mim!", command=lambda: print("Botão clicado!"))
button.pack()

# Iniciando o loop principal
root.mainloop()

Preste atenção no parâmetro command: ele permite vincular uma ação específica ao botão. No exemplo acima, ao clicar no botão, será exibida no console a mensagem "Botão clicado!".

Vamos estilizar o botão

É claro que você quer que seus botões não só funcionem, mas também fiquem bonitos. Vamos adicionar um pouco de criatividade:

button = tk.Button(root, text="Clique em mim!", command=lambda: print("Botão clicado!"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
  • bg e fg — definem a cor do fundo e do texto, respectivamente.
  • font — permite escolher a fonte e o tamanho dela.
  • pady — cria espaço vertical para o botão respirar.

2. Campos de Entrada com Tkinter

Agora vamos aos campos de entrada de texto. São aquelas pequenas janelas onde o usuário pode inserir suas vontades (e não só).

Entrada de texto simples

Criar um campo de entrada é super fácil usando o widget Entry:

entry = tk.Entry(root)
entry.pack()

Mas que utilidade tem um campo criado se você não pode pegar os dados? Vamos aprender como fazer isso!

def get_input():
    user_input = entry.get()
    print(f"O usuário inseriu: {user_input}")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Obter entrada", command=get_input)
button.pack()

Legal, agora temos um botão que mostra na tela o que foi digitado no campo.

Estilizando o campo de entrada

Assim como os botões, os campos de entrada também podem ser estilizados:

entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)

Aqui definimos a fonte, a cor do texto e do fundo. Os parâmetros padx e pady adicionam espaços horizontais e verticais, respectivamente.

3. Aplicação prática

Vamos juntar tudo e criar um aplicativo onde o usuário pode inserir dados e clicar no botão para processar as informações inseridas. Vamos criar uma pequena calculadora que soma os números inseridos.

import tkinter as tk

def calculate():
    try:
        # Pegando os valores dos campos
        number1 = float(entry1.get())
        number2 = float(entry2.get())
        
        # Calculando a soma
        result = number1 + number2
        
        # Atualizando o texto do resultado
        result_label.config(text=f"Resultado: {result}")
    except ValueError:
        result_label.config(text="Digite números válidos!")

# Criando a janela principal
root = tk.Tk()
root.title("Calculadora Simples")

# Campos de entrada para os números
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)

# Botão para calcular
calculate_button = tk.Button(root, text="Somar", command=calculate)
calculate_button.pack(pady=10)

# Label para exibir o resultado
result_label = tk.Label(root, text="Resultado: ")
result_label.pack()

# Iniciando o loop principal
root.mainloop()

Pronto, criamos uma pequena e eficiente aplicação de calculadora que permite ao usuário inserir dados e ver o resultado.

Debug ao trabalhar com widgets

Ao trabalhar com botões e campos de entrada, você pode encontrar alguns erros típicos. Por exemplo, é comum o handler do botão não ser executado. Descubra o motivo — o parâmetro command pode estar faltando ou há um erro de sintaxe na função lambda.

Também é comum ocorrerem erros relacionados à entrada incorreta de dados. Por isso, sempre verifique e trate a entrada, como fizemos na nossa calculadora para evitar problemas.

Isso é tudo por hoje! Agora você sabe como adicionar botões e campos de entrada no seu aplicativo para tornar a interação com o usuário mais interativa e divertida. O próximo passo é a manipulação de eventos ao clicar nos botões, mas isso é assunto para a próxima aula!

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION