Qt Creator可视化交互界面exe快速入门4

上一期介绍了信号与槽,本期介绍加法计算器

我们来新建一个项目

然后拖动设置按钮

还需要个输出框 这里拖动Line Edit

我这里只是简单演示一下,做个低配版计算器,再加个加号和一个等于号就结束了。

然后回到代码编辑部分,我们需要先定一个变量记录数据。比如 QString expression;

将按钮1右键设置转到槽

然后我们将按钮1追加到输出框中显示:

然后我们编译演示一下,可以看到一直按1就会一直显示1111

然后为了美观我们可以将界面尺寸设置小点 同时在左上角标记计算机字样。

然后我们把剩下的都设置转到槽即可。

最后我们需要给“=”这个按钮添加计算功能。

首先在头文件中添加

#include <QString>

#include <QChar>

我们设计点击等号结果输出的思路如下:

void MainWindow::on_pushButton_4_clicked()

{

    if (expression.contains('+')) {

这行代码首先判断表达式中是否包含加号。

        QStringList operands = expression.split('+');

如果表达式中包含加号,那么我们使用split()函数将表达式拆分成两个操作数,并将它们存储在一个QStringList中。

        if (operands.size() == 2) {

接下来,我们检查拆分后的字符串数组是否包含两个元素,确保我们有两个操作数进行加法运算。

            int num1 = operands[0].toInt();

            int num2 = operands[1].toInt();

然后,我们将这两个操作数从字符串转换为整数,以便进行加法运算。

            int result = num1 + num2;

我们对这两个操作数进行加法运算,得到结果。

            ui->lineEdit->setText(QString::number(result));

最后,我们将计算结果转换为字符串,并显示在文本框中。

            expression = QString::number(result);

最后,我们更新expression为计算结果,这样在下次输入时会覆盖原来的内容。

这样我们就实现了加法功能

点击了1+2之后,再点击等号,完美实现输出3.

下一期我们介绍计时器的使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VGG网络分析与demo实例

参考自 up主的b站链接&#xff1a;霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 VGG 在2014年由牛津大学著名研究组 VGG&#xff08;Visual Geometry Group&#xff09;提出&#xff0c;斩获该年 Imag…

Java 新手常踩得坑,清个缓存就解决了?

【IDEA教程】IDEA 如何清除缓存&#xff1f; 大家好&#xff0c;我是 JavaPub。 最近遇到群里小伙伴遇到一个很大的难题&#xff0c;相信这个问题很多人在初入行时都遇到过。 事情是这样&#xff0c;一个小伙伴刚入职一家公司&#xff0c;公司给了他一个任务&#xff0c;虽然…

公司使用了加密软件,文件无法复制

在当今数字化时代&#xff0c;企业面临着越来越多的数据泄露和信息安全威胁。为了保护公司的敏感信息和知识产权&#xff0c;许多企业选择使用加密软件来加强数据的安全性。其中一项重要的功能是防止未经授权的文件复制。本文将探讨公司使用加密软件后&#xff0c;为何文件无法…

枚举算法:解决问题的穷举之道(二)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

macOS系统下载安装PyCharm社区版本的流程(详细)

第一步 进入PyCharm官网&#xff0c;链接&#xff1a;Get Your Educational Tool - JetBrains 第二步 选择下拉框&#xff0c;根据自己的电脑芯片选择下载版本&#xff08;芯片查看位置&#xff1a;设置-通用-关于本机&#xff09;然后点击Download按钮 ​​​​​​​ -- 第…

科研学习|论文解读——融合类目偏好和数据场聚类的协同过滤推荐算法研究

论文链接&#xff08;中国知网&#xff09;&#xff1a; 融合类目偏好和数据场聚类的协同过滤推荐算法研究 - 中国知网 (cnki.net) 摘要&#xff1a;[目的/意义]基于近邻用户的协同过滤推荐作为推荐系统应用最广泛的算法之一&#xff0c;受数据稀疏和计算可扩展问题影响&#x…

005.HCIA 传输层

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP (Transmission Control Protocol)和用户数据包协议UDP (User Datagram Protocol)。 1、相关概念 a. 传输层的端口 端口范围&#xff1a;0-65535 知名端口&#xff1a;0-1023&…

图灵日记之java奇妙历险记--类和对象

目录 类的定义和使用类的定义格式 类的实例化类和对象的说明 this引用this引用的特性 对象的构造及初始化就地初始化构造方法 封装包导入包中的类自定义包 static成员static修饰成员变量static修饰成员方法 代码块代码块概念及分类构造代码块静态代码块 匿名对象 类的定义和使用…

运维工程师的出路到底在哪里

运维工程师的出路到底在哪里&#xff1f; 你是不是也常常听到身边的运维人员抱怨&#xff0c;他们的出路到底在哪里呢&#xff1f;别着急&#xff0c;让我告诉你&#xff0c;运维人员就像是IT界的“万金油”&#xff0c;他们像“修理工”一样维修服务器&#xff0c;像“消防员…

sleep(0)、sleep(1)与sleep(1000)函数是不是很迷?!

随着计算机科学和软件开发的飞速发展&#xff0c;开发者们常常需要在程序中引入一些时间控制的手段。其中&#xff0c;sleep函数成为了一种常见的工具&#xff0c;用于控制程序的执行速度、等待异步操作完成或者调度多线程任务。在这篇博客中&#xff0c;我们将深入研究三种睡眠…

安装、卸载、使用docker-compose

文章目录 Docker Compose一、安装Docker Compose二、卸载Docker Compose三、 使用docker compose编排nginxspringboot项目 Docker Compose 一、安装Docker Compose # Compose目前已经完全支持Linux、Mac OS和Windows&#xff0c;在我们安装Compose之前&#xff0c;需要先安装D…

在word文档中插入Latex格式的公式

用此方法可以不用在word中一点点插入公式&#xff0c;直接用Latex版的公式代码生成公式。 1.获取latex版公式 如我要在word中插入画框的公式&#xff0c;左边是该公式的latex版 也可以对公式截图使用如下的网页将公式的截图转为latex版 https://simpletex.cn/ai/latex_ocr …

Vue3超详细的ref()用法,看这一篇就够了

ref( ) 接受一个内部值&#xff0c;返回一个ref 对象&#xff0c;这个对象是响应式的、可更改的&#xff0c;且只有一个指向其内部值的属性 .value。 ref() 将传入参数的值包装为一个带 .value 属性的 ref 对象。 1、ref 对象是可更改的&#xff0c;即可以为 .value 赋予新的值…

Twinmotion教育版下载 / 找不到教育版解决方法

首先&#xff0c;在Epic Game Launcher中&#xff0c;找到Twinmotion标签 其中只有默认的试用版&#xff0c;没有教育版 众所周知&#xff0c;试用版没有相应的部分导出功能&#xff0c;而且有水印。 下载教育版&#xff1a; 1.打开官网&#xff1a;A cutting-edge real-time…

vue前端上传图片到阿里云OSS,超详细上传图片与视频教程

vue前端直传图片与视频到阿里云OSS 1. 简介与日常使用2. 为什么要这么干&#xff1f;是因为我司后端不行吗&#xff1f;&#xff1f;&#xff1f;&#xff08;确实&#xff01;&#xff09;3. vue前端直传的操作4. 如何上传到阿里OSS指定文件夹呢? 1. 简介与日常使用 阿里云…

python高级(补充)

闭包 闭包的定义: 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包 通过闭包的定义&#xff0c;我们可以得知闭包的形成条件: 1- 在函数嵌套(函数里面再定义…

【node-express】实现省县市/区三级联动接口

省县市/区三级联动接口 介绍接口步骤代码部分 介绍 源码地址&#xff1a;https://github.com/thinkasany/nestjs-course-code/tree/master/demo/address 使用 navicat 导入sql文件&#xff0c;新增表&#xff0c;然后只需要一个接口 localhost:3001/region?parentId1, 不断的…

Leetcode—2660.保龄球游戏的获胜者【简单】

2023每日刷题&#xff08;七十二&#xff09; Leetcode—2660.保龄球游戏的获胜者 实现代码 class Solution { public:int isWinner(vector<int>& player1, vector<int>& player2) {long long sum1 0, sum2 0;int n player1.size();for(int i 0; i &…

02之Python运算符与if结构

Day02之Python运算符与if结构 一、昨日回顾 1、回顾昨天的课程内容 略 2、回顾昨天的作业 定义变量&#xff0c;c1 ‘可乐’&#xff0c;c2 ‘牛奶’&#xff0c;通过Python代码把c1内容调整为牛奶&#xff0c;c2调整为可乐。 # 1、定义两个变量 c1 可乐 c2 牛奶# 2、…

Python实现张万森下雪了的效果

写在前面 即将步入婚宴殿堂的女主林北星&#xff0c;遭遇了男友展宇的毁约&#xff0c;生活和工作也变得一团糟。与此同时&#xff0c;她被时光老人带回了十八岁的高三时光&#xff0c;重新开启了自己的人生。林北星摆脱了展宇的束缚&#xff0c;认真准备高考&#xff0c;想要…