QT基础实践之简易计算器
文章目录
- 简易计算器
- 源码分享
- 演示图
- 第一步 界面设计
- 第二步 设置槽
- 第三步 计算功能实现
简易计算器
源码分享
链接:https://pan.baidu.com/s/1Jn5fJLYOZUq77eNJ916Kig
提取码:qwer
演示图

第一步 界面设计
这里直接用了ui界面,如果想要自己写界面当然也是可以的

界面设计对于字体大小和背景颜色等可以自己进行调整,对着按钮右键选择修改样式表进行修改

同时将QLineEdit设置为只读,因为他的作用只是为了显示,不可以进行输入,同时可以设置为显示右对齐,比较符合计算器的模式

第二步 设置槽
这步可以直接在ui界面对按钮右键跳转到槽,同时也可以自己去写
下面是用按钮1举例
在widget.h中private slots: 进行声明
void on_btn1_clicked();
在widget.cpp里设置好点击的槽函数即可
void Widget::on_btn1_clicked()
{
}
每个按钮都要设置槽
第三步 计算功能实现
首先要有个简单的计算思路,这里我的思路是,用三个字符串进行 第一个数字 第二个数字 以及符号的记录,同时一个double型进行计算操作,flag来判断到哪个数字的输出的状态
在widget.h中设置
QLineEdit ant;//显示框QString a;//记录第一个数字QString b;//记录第二个数字QString F;//记录符号double sum = 0;//计算int flag = 0;//状态判断
在widget.cpp里的槽中进行实现
点击1后的操作
其他数字以此类推
void Widget::on_btn1_clicked()
{if(flag == 0){a += '1';ui->ant->setText(a);}if(flag == 1){b += '1';ui->ant->setText(b);}
}
点击+后的操作
其他符号以此类推,这里先判断是否状态为第二个数字的输出状态,同时是为了在没点击=的时候,进行连续计算的关键 同时在后面设置状态为 1,并储存符号到F字符串中去,并显示;(if判断完就一句话没打{}看起来有点乱,自己可以加上)
void Widget::on_sub_clicked()
{if(flag == 1){if(F =='+')sum = a.toDouble() + b.toDouble();else if(F == '-')sum = a.toDouble() - b.toDouble();else if(F =='*')sum = a.toDouble() * b.toDouble();else if(F == '/')sum = a.toDouble() / b.toDouble();F = '-';a = QString::number(sum);ui->ant->setText(a);b.clear();}flag = 1;F = '-';ui->ant->setText(F);
}
点击=的操作
判断状态为1开始计算,首先将a和b字符串转为浮点型并根据F的符号进行计算,用浮点型是为了除法的正确性,为了确保连续计算,再次将sum变为字符串放入a里,然后显示答案在ant显示栏,将状态回调到0,清空b串
void Widget::on_eq_clicked()
{if(flag == 1){if(F=='+'){sum = a.toDouble() + b.toDouble();a = QString::number(sum);ui->ant->setText(a);flag = 0;b.clear();}else if(F=='-'){sum = a.toDouble() - b.toDouble();a = QString::number(sum);ui->ant->setText(a);flag = 0;b.clear();}else if(F=='*'){sum = a.toDouble() * b.toDouble();a = QString::number(sum);ui->ant->setText(a);flag = 0;b.clear();}else if(F=='/'){sum = a.toDouble() / b.toDouble();a = QString::number(sum);ui->ant->setText(a);flag = 0;b.clear();}}
}
点击C的操作
进行清空
比较好理解不多说了
void Widget::on_de_clicked()
{a.clear();b.clear();F.clear();flag = 0;ui->ant->setText("请输入");
}
这是QT的第一次实践,比较顺利,对于计算的实现有更多方法,可以继续思考,并开发计算器的更多功能
相关文章:
QT基础实践之简易计算器
文章目录 简易计算器源码分享演示图第一步 界面设计第二步 设置槽第三步 计算功能实现 简易计算器 源码分享 链接:https://pan.baidu.com/s/1Jn5fJLYOZUq77eNJ916Kig 提取码:qwer 演示图 第一步 界面设计 这里直接用了ui界面,如果想要自己…...
南大通用 GBase 8s数据库级别权限
对于所有有权使用指定数据库的用户都必须赋予其数据库级别的用户权限。在GBase 8s 中,数据库级别的用户权限有三种,按权限从低到高排列依次为:CONNECT、RESOURCE、DBA。 1. CONNECT 这是级别最低的一种数据库级别用户权限。拥有该权限的用户…...
对话式数据需求激增,景联文科技提供高质量多轮对话数据定制采集标注服务
大模型的快速发展使得数据服务需求激增,产品整体处于供不应求状态。对话式数据集成为当下需求热点,人们对于更复杂、更真实的多轮对话数据需求不断增加,定制化服务占据市场需求主流。 通过对多轮对话数据的训练,模型可以更好地理解…...
python第1天之常识及环境安装
前言: 当谈到编程语言的流行度时,Python绝对是其中之一。Python是一种高级编程语言,其语法简单易懂,适用于各种不同的应用领域,包括Web开发、数据分析、人工智能等。在本文中,我们将探讨一些关于Pyth…...
中国高纯石英砂行业市场研究与投资前景报告(2024版)
内容简介: 高纯石英砂纯度高、品质好,生产的石英制品具有耐高温、耐腐蚀、低热膨胀性、高度绝缘性和透光性等优异的物理化学属性,被广泛用于光伏、电子、高端电光源、薄膜材料、国防科技等领域,是高端制造行业不可替代的原辅材料…...
遭到美国做空机构“灰熊”做空后,人工智能公司商汤科技股价暴跌
来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,在遭到美国做空机构Grizzly Research(灰熊)指控夸大收入后,商汤科技的股价在周二一度下跌了9.7%。 Grizzly Research在周二发布的一份报告中称,商汤…...
异常数据检测 | Python实现孤立森林(IsolationForest)异常检测
孤立森林(IsolationForest)异常检测 IsolationForest[6]算法它是一种集成算法(类似于随机森林)主要用于挖掘异常(Anomaly)数据,或者说离群点挖掘,总之是在一大堆数据中,找出与其它数据的规律不太符合的数据。该算法不采样任何基于聚类或距离的方法,因此他和那些基于距离的的…...
营销互动类小游戏策划与开发
制定并开发一款营销互动小游戏需要经过一系列策划和实施步骤。以下是一个基本的流程,你可以根据自己的具体情况进行调整: 明确目标:确定小游戏的目标,是提高品牌知名度、增加销售、促进用户互动还是其他目标。 了解目标受众&…...
主机的容器化技术介绍
☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、什么是容器 容器是一个标准化的单元,是一种轻量级、可移植的软件打包技术,容器将软件代码及其相关依赖打包,使应用程序可以在任何计算介质运行。例如开发人员在自己的…...
网络基础『发展 ‖ 协议 ‖ 传输 ‖ 地址』
🔭个人主页: 北 海 🛜所属专栏: 神奇的网络世界 💻操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌤️前言🌦️正文1.网络发展1.1.背景1.2.类型 2.网络协议2.1.什么是协议2.2.协议…...
Aapche Dubbo 不安全的 Java 反序列化 (CVE-2019-17564)
漏洞描述 Apache Dubbo 是一个高性能的、基于 Java 的开源 RPC 框架。 Apache Dubbo 支持不同的协议,它的 HTTP 协议处理程序是 Spring Framework 的 .org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter Spring Framework 的安全警告显示&am…...
B/S软件开发架构
1.简述 1. B/S框架,意思是前端(Browser 浏览器, 小程序,APP,自己写)和服务器端(Server)组成的系统的框架结构。 2. B/S架构也可理解为web架构,包含前端、后端、数据库三大组成部分。 2.前端 前端开发技…...
【docker系列】docker实战之部署SpringBoot项目
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
【数据结构】时间和空间复杂度
马上就要进入到数据结构的学习了 ,我们先来了解一下时间和空间复杂度,这也可以判断我们的算法是否好坏; 如何衡量一个算法的好坏? 就是看它的算法效率 算法效率 算法效率分析分为两种:第一种是时间效率,第…...
【Web】[GKCTF 2021]easycms
直接点击登录按钮没有反应 扫目录扫出来/admin.php 访问 弱口令admin 12345直接登录成功 点开设计--主题--自定义 编辑页头,类型选择php源代码 点保存显示权限不够 设计--组件--素材库 先随便上传一个文件,之后改文件名称为../../../../../system/tmp…...
VM CentOS7安装ffmpeg
项目中涉及给视频添加水印,使用到了ffmpeg,windows系统可直接使用,Linux需要手动编译完成ffmpeg后才可正常使用。 配置yum源: 备份原repo文件 cd /etc/yum.repos.d/mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.r…...
PyTorch Models
Overview pth模型保存时是按照“整个模型保存”和“只保存模型参数”会影响模型的加载和访问方式 torch.save(vgg16, "vgg16.pt") torch.save(vgg16,"vgg16.ckpt") torch.save(vgg16,"vgg16.pth") torch.save(vgg16,"vgg16.pkl")…...
viple模拟器使用(四):unity模拟器中实现沿右墙迷宫算法
沿右墙迷宫算法 引导 线控模拟可以使得通过用户手动操作,实现机器人在模拟环境下在迷宫中行走(即:运动),算法可以使得机器人按照一定的策略自动行走,沿右墙迷宫算法就是其中的一种策略。 目的 运行程序后&…...
面试送分题!“商品分类浏览”如何测试?
电商项目无论是工作中,还是面试中,都是一个高频出现的词。 面试官非常热衷提问关于电商项目的问题。例如商品分类怎么测试?购物车怎么测试?订单怎么测试?优惠券怎么测试?支付怎么测试?等等。 …...
在浏览器中直接打开PDF
1 使用iframe标签 <iframe src"./test.pdf" height"900px;" width"800px"></iframe> 如果PDF是base64参考如下 <iframe id"pdfView" width"100%" height"100%" allow"fullscreen" typ…...
一多操作系统的生命体架构与当前主流开发语言的区别
这套架构与当前主流开发语言的区别,本质上就是**“造物主”与“工匠”**的区别。 目前的编程语言(无论是 C、Java 还是 Python)都是在教计算机**“怎么做”(How),而一多 OS 的生物学构架是在告诉系统“要什…...
Infineon C167芯片Flash编程与MEMTOOL使用指南
1. C167系列芯片片上Flash编程方法解析在嵌入式系统开发中,片上Flash编程是每个工程师都需要掌握的核心技能。对于使用Infineon C167系列微控制器的开发者来说,了解如何可靠地编程片上Flash存储器尤为重要。本文将详细介绍使用MEMTOOL工具进行C167芯片Fl…...
Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLM+ML协同训练的4大范式演进
更多请点击: https://codechina.net 第一章:Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLMML协同训练的4大范式演进 Agent驱动的机器学习 pipeline 正在重构传统ML工程范式——它不再将数据预处理、特征工程、模型训练与部署割裂为静…...
Windows虚拟机完美运行macOS:OSX-Hyper-V终极实践指南
Windows虚拟机完美运行macOS:OSX-Hyper-V终极实践指南 【免费下载链接】OSX-Hyper-V OpenCore configuration for running macOS on Windows Hyper-V. 项目地址: https://gitcode.com/gh_mirrors/os/OSX-Hyper-V 你是否曾经梦想在一台Windows电脑上同时拥有m…...
马斯克的 Grok 聊天机器人表现不佳,能否支撑 SpaceX 高估值存疑
Grok 表现不佳且使用少路透社一篇新报道得出结论,埃隆马斯克(Elon Musk)的“追求真相”人工智能聊天机器人 Grok 表现不佳,使用的人也不多。在去年美国政府使用人工智能的联邦记录中,Grok 几乎不见踪影。即便马斯克将其…...
在ubuntu上为hermes agent配置taotoken作为自定义模型供应商
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在 Ubuntu 上为 Hermes Agent 配置 Taotoken 作为自定义模型供应商 基础教程类,面向使用 Hermes Agent 框架构建 AI 应…...
【健身SaaS厂商紧急预警】:AI Agent接入后用户留存率提升41%的关键3个埋点逻辑
更多请点击: https://kaifayun.com 第一章:AI Agent健身行业应用的范式迁移与价值重定义 传统健身服务长期受限于人力密度、响应延迟与个性化瓶颈,而AI Agent的深度介入正推动行业从“标准化课程交付”跃迁至“持续演化的健康共生体”。这一…...
金融级语音质检系统上线倒计时72小时:PlayAI最新v3.2.1版本如何用动态声纹隔离+情绪敏感词熔断机制,让监管抽查通过率从61%飙升至99.2%
更多请点击: https://kaifayun.com 第一章:金融级语音质检系统的监管挑战与技术跃迁 金融行业对语音交互的合规性要求极为严苛,监管机构如银保监会、证监会及《个人信息保护法》《金融消费者权益保护实施办法》等持续强化对语音数据采集、存…...
动态阻抗匹配增益单元:破解脑电前端 “弱信号放大” 难题
通过上一篇文章的学习,相信大家对自研脑机接口模拟前端的整体框架有了一定的了解,其中动态阻抗匹配增益单元是解决 “微弱脑电信号无法稳定放大” 这一核心难题的关键。今天这篇文章,蔡哥就带大家来聊聊这项技术的设计背景、实现思路和实际效…...
鸿蒙 PC:从“用户点击”到“AI 调度”
子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...
