Este é um projeto de calculadora com interface gráfica (GUI) desenvolvido em Python utilizando a biblioteca customtkinter. O aplicativo permite realizar operações matemáticas básicas, visualizar o histórico de cálculos e manter um design moderno e responsivo. Este projeto foi criado com foco em praticar conceitos de GUI, organização de código, manipulação de arquivos e boas práticas de desenvolvimento em Python.
- Operações básicas: adição, subtração, multiplicação, divisão e módulo (
%) - Interface gráfica customizada com
customtkinter - Histórico de cálculos persistente em arquivo
.csv - Reutilização de operações passadas com um clique
- Limpeza do histórico com botão dedicado
- Layout adaptado e amigável ao usuário
Calculator/
│
├── history/
│ └── history.csv # Armazena o histórico de operações
│
├── images/ # Ícones e imagens usados na GUI
│
├── constants.py # Constantes visuais e de layout
├── gui.py # Interface gráfica principal
├── history.py # Lógica de manipulação do histórico (salvar, exibir, limpar)
├── logic.py # Lógica das operações matemáticas
├── main.py # Arquivo de entrada da aplicação
git clone https://github.com/emilyfas/calculator.git
cd calculatorEste projeto requer as seguintes bibliotecas:
- CustomTkinter
- Pillow
- Sympy
Você pode instalar todas com:
pip install -r requirements.txt
python main.py
gui.py
Responsável por iniciar e organizar todos os elementos gráficos, como:
- Campo de entrada/display
- Botões numéricos e operadores
- Janela de histórico com scroll
- Ícones personalizados
- Eventos de clique e teclado
logic.py
Controla toda a lógica matemática e tratamento de entrada, incluindo:
- Validação de operadores
- Construção da expressão
- Simplificação e cálculo usando sympy
- Formatação e normalização de resultados com Decimal
- Restauração de entradas a partir do histórico
history.py
Gerencia o histórico das operações realizadas:
- Salva cada operação no history.csv
- Lê e exibe as operações anteriores
- Limpa o histórico
- Permite restaurar uma operação clicando nela
constants.py
Centraliza valores fixos usados no projeto como:
- Cores da interface
- Dimensões dos botões e janela
- Caminhos para os arquivos de imagem
- Operadores permitidos
A calculadora possui um tema escuro e botões estilizados para melhor visualização.
Os ícones utilizados estão na pasta images/.
-
Python 3.12
-
CustomTkinter — para interface gráfica moderna
-
Pillow — para exibir ícones na GUI
-
Sympy — para manipulação segura de expressões matemáticas
-
CSV — para salvar e recuperar histórico de operações
1. Digite uma expressão (ex: 5 + 7)
2. Clique em =
3. O resultado aparecerá no display
4. A operação será salva automaticamente no histórico
5. Clique em History para visualizar ou restaurar
O histórico é armazenado no arquivo calculator/history/history.csv com o seguinte formato:
Operação,Resultado
5+7,12
3*4,12
Ele é automaticamente limpo ao fechar o app ou manualmente clicando no botão de lixeira dentro da janela de histórico.
Emilly Fernandes
Estudante de Ciência da Computação
Projeto desenvolvido para portfólio pessoal.
LinkedIn | Portfólio
Se você gostou deste projeto, deixe uma ⭐ no repositório para ajudar na visibilidade!