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

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

项目地址 软件下载地址

目录

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

0. 效果预览

  • 普通计算模式效果如下:

在这里插入图片描述

  • 科学计算模式效果如下:
科学计算模式效果演示图片
  • 更具体的功能演示视频见如下链接:
👉点我跳转演示视频👈

1. 数据库准备

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

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

  • CMake 构建的项目

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

# 加入 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 项目配置文件中添加如下内容:

# 加入 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~90~9输入0~9
..输入小数点
AnsCtrl+A在当前算式末尾输入上一次的运算结果
ECtrl+E检验输入算式是否存在错误
((输入左括号
))输入右括号
键盘上的退格键删除上一个输入的数据/操作符
CCtrl+C清空所有输入
+ + + + + +输入加号
− - − - 输入减号/负号
× ∗ * 输入乘号
÷/输入除号
%%输入百分号
MODM输入取余符号
^^输入乘方/幂符号
!!输入阶乘运算符
!!@输入奇/偶阶乘运算符
π \pi πP输入圆周率 π \pi π
eE输入自然数e
=回车Enter计算当前输入算式的结果
Mode→Scientific/NormalAlt+S切换普通/科学计算模式
sinS输入正弦函数运算符
arcsinShift+S输入反正弦函数运算符
cosC输入余弦函数运算符
arccosShift+C输入反余弦函数运算符
tanT输入正切函数运算符
arctanShift+T输入反正切函数运算符
lnShift+L输入自然对数运算符
logL输入普通对数运算符
History→Current HistoryH查看本次运行的计算记录
History→All HistoryAlt+H查看本软件安装以来的所有计算记录

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

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

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

4. 未来开发展望

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

v2.0 版本展望:

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

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

5. 联系邮箱

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

📫chrischanyedu@gmail.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/785987.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java版Flink使用指南——从RabbitMQ中队列中接入消息流

大纲 创建RabbitMQ队列新建工程新增依赖编码设置数据源配置读取、处理数据完整代码 打包、上传和运行任务测试 工程代码 在《Java版Flink使用指南——安装Flink和使用IntelliJ制作任务包》一文中,我们完成了第一个小型Demo的编写。例子中的数据是代码预先指定的。而…

74HC165芯片验证

目录 0x01 74HC165芯片介绍0x02 编程实现 0x01 74HC165芯片介绍 74HC165的引脚定义如下,长这个样子 ABCDEFGH是它的八个输入引脚,例如你可以将它连接按键,让它来读取8个按键值。也可以将他级联其它的74165,无需增加单片机GPIO引…

Nginx+Tomcat群集

一.实验环境 二.安装多台Tomcat服务器 1.在安装Tomcat之前必须先安装JDK。 JDK的全称是Java Development Kit,是sun公司提供的JAVA语言的软件开发工具包,其中包含Java虚拟机(JVM),编写好的Java源程序经过编译可形成Ja…

bert-base-chinese模型离线使用案例

import torch import torch.nn as nn from transformers import BertModel, BertTokenizer# 通过torch.hub(pytorch中专注于迁移学的工具)获得已经训练好的bert-base-chinese模型 # model torch.hub.load(huggingface/pytorch-transformers, model, bert-base-chinese) model…

Python 定义和调用函数

在Python编程中,函数是组织和重用代码的一种重要方式。函数可以提高代码的可读性和维护性,并且可以避免重复代码。 1. 定义函数 在Python中,函数使用def关键字定义。一个简单的函数定义包括函数名、参数列表和函数体。以下是一个基本的函数…

[Python爬虫] 抓取京东商品数据||京东商品API接口采集

本文结构: 一、引言 二、代码分享 三、问题总结 引言 这两天因为一些需求,研究了一下如何爬取京东商品数据。最开始还是常规地使用selenium库进行商品页的商品抓取,后来因为想要获取优惠信息,只能进入到商品详情页进行抓取&#x…

苏东坡传-读书笔记十一

苏东坡对写作与风格所表示的意见最为清楚。他说做文章“大略如行云流水,初无定质,但常行于所当行,常止于所不可不止。文理自然,姿态横生。孔子曰:‘言之不文,行而不远。’又曰:‘辞达而已矣。’…

【Linux】:进程等待

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux进程等待的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门…

电竞玩家的云端盛宴!四大云电脑平台:ToDesk、顺网云、青椒云、极云普惠云实测大比拼

本文目录 一、云电脑概念及市场需求二、云电竞性能测试2.1 ToDesk云电脑2.2 顺网云2.3 青椒云2.4 极云普惠云电脑 三、四大云电脑平台综合配置对比3.1 CPU处理器3.2 GPU显卡3.3 内存 四、总结 一、云电脑概念及市场需求 在数字化时代的推动下,云计算技术日益成熟&a…

JAVA 代码块介绍

一、基本介绍 代码化块又称为初始化块,属于类中的成员[即 是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过包围起来。 但和方法不同,没有方法名,没有返回,没有参数,只有方…

Java面试八股之MySQL支持哪些数据类型

MySQL支持哪些数据类型 MySQL支持多种数据类型,这些类型可以大致分为三大类:数值类型、日期/时间类型和字符串类型。下面是一些常见的数据类型及其用途: 数值类型 整数类型: TINYINT:通常占用1字节。 SMALLINT&am…

注册商标为什么要先查询

注册商标为什么要先查询 在知识产权日益受到重视的今天,商标的注册成为了许多企业和个人保护其品牌价值和市场地位的重要手段。然而,商标注册并非一蹴而就的过程,其中一个关键的步骤就是商标查询,也就是我们通常所说的“商标检索…

STM32CubeMX如何配置生成项目以及安装包

目录 一、STM32CubeMX介绍 二、用STM32CubeMX生成项目 1.创建项目 2.定义引脚 3.配置时钟 4.保存项目 5.生成项目 6.打开项目 一、STM32CubeMX介绍 STM32CubeMX是STM32Cube工具家族中的一员,专门为STM32微控制器的开发提供便利。它是一款图形化工具&#xf…

新加坡工作和生活指北:租房篇

本文首发于公众号 Keegan小钢 前段时间已经分享了工作篇,现在接着聊聊生活篇。因为生活这块涉及到多个方面,内容比较多,所以我再细分了一下,本篇先聊聊租房。 先来看看新加坡的地区分布图,如下: 上图将新加…

【C语言】指针(3):探索-不同类型指针变量

目录 一、字符指针变量 二、数组指针变量 三、二维数组传参的本质 四、函数指针变量 4.1 函数指针变量 4.2 函数指针变量的使用 4.3 函数指针变量的拓展 五、函数指针数组 六、转移表的应用 通过深入理解指针(1)和深入理解指针(2&am…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十二章 Linux 权限管理

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

Python 插入、替换、提取、或删除Excel中的图片

Excel是主要用于处理表格和数据的工具,我们也能在其中插入、编辑或管理图片,为工作表增添视觉效果,提升报告的吸引力。本文将详细介绍如何使用Python操作Excel中的图片,包含以下4个基础示例: 文章目录 Python 在Excel…

Autogen基本使用介绍

文章目录 一,Build1,Skill2,Models3,agents4,workflow 二,Playground 本文唯一目的就是介绍一下Autogen Studio的基本的使用。 打开这个网页以后,看到它有2个菜单,分别是: BuildPla…

07-7.3.2 平衡二叉树(AVL)

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

使用 Qt 和 ECharts 进行数据可视化

文章目录 示例图表预览折线图散点图柱状图使用 Qt 和 ECharts 进行数据可视化一、准备工作1. 安装 Qt2. 准备 ECharts二、在 Qt 中使用 ECharts1. 创建 Qt 项目2. 配置项目文件3. 在 UI 中添加 WebEngineView4. 加载 ECharts三、创建折线图、散点图和柱状图1. 折线图2. 散点图3…