Skip to content

CobePuppy/Calculator

Repository files navigation

Qt6 简易计算器

基于Qt6的现代化桌面计算器应用程序,采用MVC(Model-View-Controller)架构设计。 由重庆邮电大学 24级数学系 邓翀宸 开发

快速开始

  1. 直接运行: 双击 dist\calculator.exe
  2. 或使用脚本: 双击 运行计算器.bat

功能特性

  • 基本四则运算(加、减、乘、除)
  • 小数点支持
  • 清除功能
  • 错误处理(如除零错误)
  • 现代化Qt6界面
  • 跨平台兼容性
  • 完整的MVC架构

项目结构

Calculator/
├── CMakeLists.txt          # CMake构建配置
├── README.md               # 项目说明
├── docs/                   # 文档目录
├── include/                # 头文件目录
│   ├── calculator_controller.h
│   ├── calculator_model.h
│   ├── calculator_view.h
│   └── math_operations.h
├── resources/              # 资源文件目录
├── src/                    # 源代码目录
│   ├── calculator_controller.cpp
│   ├── calculator_model.cpp
│   ├── calculator_view.cpp
│   ├── main.cpp
│   └── math_operations.cpp
└── tests/                  # 测试文件目录
    └── test_calculator.cpp

编译要求

依赖项

  • C++17 或更高版本
  • wxWidgets 3.1+
  • CMake 3.10+ (可选)
  • GCC 或 MSVC 编译器

Windows 编译 (使用现有的tasks.json)

# 使用VS Code中的构建任务
Ctrl+Shift+P -> Tasks: Run Task -> build

或者在终端中运行:

g++ src/main.cpp src/calculator_model.cpp src/calculator_view.cpp src/calculator_controller.cpp src/math_operations.cpp -o calculator.exe -ID:/DevTools/wxWidgets-3.3.1/include -ID:/DevTools/wxWidgets-3.3.1/lib/gcc_x64_lib/msw -LD:/DevTools/wxWidgets-3.3.1/lib/gcc_x64_lib -lwxmsw32u_core -lwxbase32u -lwxpng -lwxzlib -mwindows

使用CMake编译

mkdir build
cd build
cmake ..
cmake --build .

运行程序

编译成功后,运行生成的可执行文件:

./calculator.exe  # Windows
./calculator      # Linux/macOS

运行测试

# 编译测试程序
g++ tests/test_calculator.cpp src/calculator_model.cpp src/math_operations.cpp -o test_calculator.exe -Iinclude

# 运行测试
./test_calculator.exe

使用说明

  1. 数字输入: 点击数字按钮0-9输入数字
  2. 运算符: 点击+、-、×、÷按钮选择运算
  3. 小数点: 点击"."按钮输入小数
  4. 计算: 点击"="按钮执行计算
  5. 清除: 点击"C"按钮清除当前输入

架构说明

MVC架构

  • Model (CalculatorModel): 处理计算逻辑和数据状态
  • View (CalculatorView): 负责用户界面显示和用户交互
  • Controller (CalculatorController): 协调Model和View之间的通信

关键类说明

MathOperations

  • 提供基础数学运算功能
  • 包含除零错误处理

CalculatorModel

  • 维护计算器状态
  • 处理数字输入、运算符和计算逻辑
  • 支持小数和错误状态管理

CalculatorView

  • wxWidgets图形界面
  • 按钮布局和事件处理
  • 显示更新和错误提示

CalculatorController

  • 连接Model和View
  • 处理用户输入事件
  • 更新界面显示

扩展功能建议

  • 添加更多数学函数(sin, cos, sqrt等)
  • 支持括号运算
  • 历史记录功能
  • 键盘输入支持
  • 主题切换功能

贡献

欢迎提交Issue和Pull Request来改进这个项目。

许可证

本项目采用MIT许可证。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published