Criar uma Calculadora GUI com Python

PythonBeginner
Pratique Agora

Introdução

Neste projeto, vamos guiá-lo sobre como criar uma calculadora GUI básica usando Python e a biblioteca tkinter. Esta calculadora será capaz de realizar operações aritméticas simples, como adição, subtração, multiplicação e divisão.

👀 Pré-visualização

GUI calculator interface preview

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como configurar a janela principal do tkinter para a calculadora
  • Como adicionar uma função de cálculo para realizar operações aritméticas
  • Como criar um campo de entrada (entry field) para os usuários inserirem números e visualizarem os resultados
  • Como adicionar botões para dígitos, operações aritméticas e função de limpar
  • Como executar o loop de eventos do tkinter para iniciar a calculadora

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Usar a biblioteca tkinter para criar uma interface gráfica do usuário
  • Vincular funções a botões para habilitar a interatividade
  • Realizar operações aritméticas básicas em Python
  • Exibir e atualizar resultados usando um campo de entrada (entry field)
Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 68%. Recebeu uma taxa de avaliações positivas de 87% dos estudantes.

Criar o Arquivo do Projeto

Primeiramente, crie um novo arquivo Python chamado labex_calculator.py. Este arquivo conterá o código para nossa calculadora. Para criar o arquivo, você pode usar o terminal ou a interface gráfica do seu sistema operacional.

## Criando um novo arquivo Python
cd ~/project
touch labex_calculator.py
✨ Verificar Solução e Praticar

Configurar a Janela Principal Tkinter

Para começar a construir nossa calculadora, abra o arquivo labex_calculator.py em um editor de texto. O primeiro passo para criar nossa GUI (graphic user interface - interface gráfica do usuário) da calculadora é criar uma janela principal. Faremos isso com a biblioteca tkinter.

## Importando a biblioteca tkinter
import tkinter as tk

## Criando a janela principal/toplevel do tkinter
root = tk.Tk()
root.title('LabEx Calculator') ## Definindo o título da nossa calculadora
root.geometry('400x600') ## Definindo o tamanho da nossa calculadora
root.configure(background='light blue') ## Definindo a cor de fundo da nossa calculadora
✨ Verificar Solução e Praticar

Adicionar uma Função de Cálculo

Para permitir que a calculadora execute operações aritméticas, defina uma função calculate.

def calculate(event):
    text = event.widget.cget('text') ## Obtendo o texto do botão
    if text == '=':
        try:
            result = str(eval(entry.get())) ## Calcula o resultado
            entry.set(result) ## Define a entrada para o resultado
        except Exception as e:
            entry.set('Error') ## Em caso de erro, define a entrada para 'Error'
        return

    if text == 'C':
        entry.set('') ## Se 'C' for pressionado, limpa a entrada
        return
    entry.set(entry.get() + text) ## Adicionando o texto do botão pressionado à entrada
✨ Verificar Solução e Praticar

Criar um Campo de Entrada

Crie um campo de entrada para que os usuários possam inserir os números e ver os resultados dos cálculos.

entry = tk.StringVar()
entry.set('') ## Definindo a entrada inicial para uma string vazia
entry1 = tk.Entry(root, textvar=entry, font='lucida 30 bold', bd=5, insertwidth=4, bg='powder blue', justify='right') ## Criando o campo de entrada
entry1.pack(fill=tk.X, ipadx=8, pady=10, padx=10) ## Posicionando o campo de entrada
✨ Verificar Solução e Praticar

Adicionar Botões

Em seguida, adicione botões à calculadora para dígitos, operações aritméticas e a função de limpar.

button_frame = tk.Frame(root) ## Cria um frame para os botões
button_frame.pack() ## Adiciona o frame à janela tkinter

## Uma lista para o texto dos botões
button_list = [
    '7', '8', '9', '/',
    '4', '5', '6', '*',
    '1', '2', '3', '-',
    '.', '0', '=', '+',
    '00', '000', 'C'
]

## Criando e posicionando os botões
i = 0
for btn_text in button_list:
    button = tk.Button(button_frame, text=btn_text, font='lucida 20 bold', bg='skyblue', padx=15, width=5)
    button.grid(row=int(i/4), column=i%4, padx=3, pady=3)
    i += 1
    button.bind('<Button-1>', calculate) ## Vinculando a função 'calculate' ao botão
✨ Verificar Solução e Praticar

Executar o Projeto

Finalmente, vamos executar o loop de eventos (event loop) do tkinter para iniciar a calculadora.

root.mainloop()

Mude para a área de trabalho (Desktop) e execute o projeto.

python labex_calculator.py
Interface da aplicação da calculadora
✨ Verificar Solução e Praticar

Resumo

Parabéns! Você agora criou uma calculadora GUI básica usando Python e a biblioteca tkinter. Você pode executar sua calculadora executando o script labex_calculator.py. Neste projeto, cobrimos a criação de uma janela tkinter, a adição de uma função de cálculo, a criação de um campo de entrada para a calculadora, a adição de botões para realizar operações aritméticas e a execução da calculadora.