C++ Qt 自制开源科学计算器

C++ Qt 自制开源科学计算器

项目地址 软件下载地址

目录

  • [0. 效果预览](#0. 效果预览)
  • [1. 数据库准备](#1. 数据库准备)
  • [2. 按键&快捷键说明](#2. 按键&快捷键说明)
  • [3. 颜色切换功能(初版)](#3. 颜色切换功能(初版))
  • [4. 未来开发展望](#4. 未来开发展望)
  • [5. 联系邮箱](#5. 联系邮箱)

0. 效果预览

  • 普通计算模式效果如下:
  • 科学计算模式效果如下:
  • 更具体的功能演示视频见如下链接:

👉点我跳转演示视频👈

1. 数据库准备

本项目采用的后端数据库为 SQLite ,因为他是 C++ Qt 6.x 内置支持的一种数据库,同时其可视化软件 SQLite Expert 的下载和使用都很简单。

Qt Creator 中为了能够顺利链接 SQLite 数据库,需要在项目配置文件中进行一些补充,具体如下:

  • CMake 构建的项目

需要在 CMakeList.txt 中添加如下内容:

CMake 复制代码
# 加入 sql 链接必要的动态库
target_link_libraries(CCalculator PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
                      Qt${QT_VERSION_MAJOR}::Sql)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Sql REQUIRED)

注意:这里的 CCalculator 请替换成您自己的项目名称

  • QMake 构建的项目

需要在 .pro 项目配置文件中添加如下内容:

QMake 复制代码
# 加入 sql 链接必要的动态库
QT += sql
# 在Windows上需要的库(一般情况下Qt会自动处理)
win32:CONFIG(release, debug|release): LIBS += -L$$[QT_INSTALL_LIBS] -lQt6Sql
win32:CONFIG(debug, debug|release): LIBS += -L$$[QT_INSTALL_LIBS] -lQt6Sqld

本计算器的按键均绑定了键盘上的按键作为快捷键以方便使用。下面给出所有按键和对于快捷键的说明:

按键 快捷键 功能
0~9 0~9 输入0~9
. . 输入小数点
Ans Ctrl+A 在当前算式末尾输入上一次的运算结果
E Ctrl+E 检验输入算式是否存在错误
( ( 输入左括号
) ) 输入右括号
键盘上的退格键 删除上一个输入的数据/操作符
C Ctrl+C 清空所有输入
+ + + + + + 输入加号
− - − − - − 输入减号/负号
× ∗ * ∗ 输入乘号
÷ / 输入除号
% % 输入百分号
MOD M 输入取余符号
^ ^ 输入乘方/幂符号
! ! 输入阶乘运算符
!! @ 输入奇/偶阶乘运算符
π \pi π P 输入圆周率 π \pi π
e E 输入自然数e
= 回车Enter 计算当前输入算式的结果
Mode→Scientific/Normal Alt+S 切换普通/科学计算模式
sin S 输入正弦函数运算符
arcsin Shift+S 输入反正弦函数运算符
cos C 输入余弦函数运算符
arccos Shift+C 输入反余弦函数运算符
tan T 输入正切函数运算符
arctan Shift+T 输入反正切函数运算符
ln Shift+L 输入自然对数运算符
log L 输入普通对数运算符
History→Current History H 查看本次运行的计算记录
History→All History Alt+H 查看本软件安装以来的所有计算记录

3. 颜色切换功能(初版)

本计算器在 Style 菜单中提供了两种预设的颜色方案,Light 表示白色背景,Dark 表示黑色背景。

后续将在代码中为所有按键进行归纳分类,并提供对所有按键、窗口背景的颜色方案修改接口。

4. 未来开发展望

在后续开发中将按顺序加入如下功能:

v2.0 版本展望:

  • 更完整更自由的颜色切换接口
  • 通过鼠标和键盘左右按键对输入算式进行插入输入/删除
  • 构造一个 About 页面方便大家在使用时查看软件相关信息
  • 完成 Contact 快速跳转邮件发送页面的功能
  • 完成复数运算模式的开发
  • 完成 Practice 随机生成计算题的功能开发

上述功能完成后会 Release 和发布 CCalculator v2.0

5. 联系邮箱

如果您对本项目有任何建议、想法或疑惑请联系我的邮箱:

📫chrischanyedu@gmail.com

相关推荐
小飞猪Jay1 小时前
C++面试速通宝典——13
jvm·c++·面试
rjszcb2 小时前
一文说完c++全部基础知识,IO流(二)
c++
威桑2 小时前
记一次控件提升后,运行却不显示的Bug
qt
小字节,大梦想3 小时前
【C++】二叉搜索树
数据结构·c++
吾名招财3 小时前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn
FL16238631293 小时前
[深度学习][python]yolov11+bytetrack+pyqt5实现目标追踪
深度学习·qt·yolo
我是哈哈hh3 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
憧憬成为原神糕手3 小时前
c++_ 多态
开发语言·c++
郭二哈3 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -4 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记