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

news2025/1/17 13:55:59

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

我们来新建一个项目

然后拖动设置按钮

还需要个输出框 这里拖动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.coloradmin.cn/o/1340390.html

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

相关文章

关于SQL时间盲注(基于sleep函数)的手动测试、burpsuite爆破、sqlmap全自动化注入

SQL时间注入是一种常见的SQL注入攻击方式&#xff0c;攻击者通过在SQL语句中注入时间相关的代码&#xff0c;来获取敏感信息或者执行非法操作。其基本原理如下&#xff1a; 攻击者向Web应用程序中输入一段恶意代码&#xff0c;通过SQL语句查询数据库&#xff0c;并注入时间相关…

postman使用-03发送请求

文章目录 请求1.新建请求2.选择请求方式3.填写请求URL4.填写请求参数get请求参数在params中填写&#xff08;填完后在url中会自动显示&#xff09;post请求参数在body中填写&#xff0c;根据接口文档请求头里面的content-type选择body中的数据类型post请求参数为json-选择raw-选…

HDFS客户端UnknownHostException事故解析

文章目录 前言事故现场问题分析是否是整个域名解析服务当时都出问题了是否是出问题的pods本身的域名解析有问题 异常发生的全部过程域名的解析是什么时候发生的&#xff0c;怎么发生的域名解析的详细流程 重试发生在什么地方为什么重试会无效 Bugfix代码详解关于StandardHostRe…

3D换肤在服装行业的应用

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 通过采用高质量的 3D 模型&#xff0c;企业可以提供更加身临其境的体…

透彻掌握GIT基础使用

网址 https://learngitbranching.js.org/?localezh_CN 清屏 clear重新开始reset

DevOps(开发运维)常用的工具

"DevOps"是"Development"&#xff08;开发&#xff09;和"Operations"&#xff08;运维&#xff09;两个术语的组合&#xff0c;旨在代表公司应用开发和IT运维团队执行的任务的协作或共享方法。 DevOps描述了采用迭代软件开发、自动化以及可编程…

科荣 AIO ReportServlet 任意文件读取漏洞复现

0x01 产品简介 科荣AIO 企业⼀体化管理解决⽅案 通过ERPERP&#xff08;进销存财务&#xff09;、OAOA&#xff08;办公⾃动化&#xff09;、CRMCRM&#xff08;客⼾关系管理&#xff09;、UDPUDP&#xff08;⾃定义平台&#xff09;&#xff0c;集电⼦商务平台、⽀付平台、ER…

计算机组成原理复习1

概论 文章目录 概论计算机系统计算机硬件系统计算机软件系统 计算机系统的层次结构计算机系统的工作过程冯诺依曼计算机结构冯氏机的特点 现代计算机现代计算机的组成计算机硬件的主要技术指标机器字长存储容量运算速度 计算机的历史与发展 计算机系统 计算机系统硬件软件 计…

安装DataEase(Linux线上安装)修改端口

问题一&#xff1a;端口更改 警告本解决方法仅仅应急&#xff0c;如果找到了更好的方法请通知我&#xff0c;感谢你的理解&#xff01;&#xff01;&#xff01; 为了让mysql与dataease的端口不发生冲突&#xff0c;将 MySQL 外部运行端口参数 ${DE_MYSQL_PORT} 改为新端口&am…

解决 Nginx 反向代理中的 DNS 解析问题:从挑战到突破20231228

引言 在使用 Nginx 作为反向代理服务器时&#xff0c;我们可能会遇到各种配置和网络问题。最近&#xff0c;我遇到了一个有趣的挑战&#xff1a;Nginx 在反向代理配置中无法解析特定的域名&#xff0c;导致 502 错误。这个问题的解决过程不仅揭示了 Nginx 的一个不太为人知的功…

docker学习(二十、network使用示例host、none)

文章目录 一、host应用示例总结 二、none应用示例总结 network相关内容&#xff1a; docker学习&#xff08;十八、network介绍&#xff09; docker学习&#xff08;十九、network使用示例bridge&#xff09; docker学习&#xff08;二十、network使用示例host、none&#xff0…

Dockerfile - 基于 SpringBoot 项目自定义镜像(项目上线全过程)

目录 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 1.2、打包项目&#xff08;jar&#xff09; 1.3、编写 Dockerfile 文件&#xff0c;构建镜像 1.4、运行镜像并测试 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 a&#xff09;简…

在香橙派5 Plus上搭建Gitlab

作为一个码农&#xff0c;一定知道Github这个最大的成人交友网站。但是Github在国内不稳定&#xff0c;经常拉不下来代码&#xff0c;也就无法推送代码。为了更方便的使用&#xff0c;顺便更好地了解Git工具&#xff0c;决定在香橙派5 Plus上搭建一个属于自己的代码仓库。 1、…

MR实战:分科汇总求月考平均分

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建学生实体类5、创建科目平均分映射器类…

文件过大放不了U盘?三个方法非常简单~

文件过大放不了U盘我们可以从文件过大这个角度来解决一下这个问题&#xff0c;可以借助一些工具把文件压缩后&#xff0c;体积变小后&#xff0c;再放入U盘&#xff0c;使得u盘得到高效的利用&#xff0c;下面是推荐的一些好用的软件。 一、嗨格式压缩大师 是一款可以压缩多种…

群起而攻之!纽约时报和多名作者七剑合璧,联合起诉 OpenAI 和微软

《纽约时报》控告OpenAI和微软侵犯版权&#xff0c;声称它们未经授权使用了该报数百万篇文章&#xff0c;用于训练其人工智能工具&#xff0c;包括OpenAI的ChatGPT和微软的Bing Chat&#xff08;现更名为Copilot&#xff09;。此诉讼引起了一些普利策奖获奖作者和其他非小说类作…

传统零售的巨变:新零售时代催生全新商业形态和供应链关系-亿发

智慧零售解决方案涵盖了新零售的各个方面。对于传统零售业而言&#xff0c;对新零售的接受是一个理解和感知的过程&#xff0c;而并非仅仅是技术的简单叠加。新零售的发展并非仅仅是传统零售业加入互联网或跨界混搭的模式&#xff0c;而是一个根本性的变革过程。 在实际发展中…

第三方软件测试公司有哪些服务形式?如何收费?

由于软件企业的增多&#xff0c;企业更加注重软件开发&#xff0c;因此会将软件测试工作交由第三方软件测试公司进行。第三方软件测试公司也就是专门做软件测评的外包公司&#xff0c;主要是发现软件漏洞和缺陷以便公正、客观评估软件质量&#xff0c;再出具一份软件测试报告。…

Spring Boot 入参校验及全局异常处理

版本依赖 JDK 17 Spring Boot 3.2.0 源码地址&#xff1a;Gitee Spring Boot validation spring-boot-starter-validation是基于hibernate-validator的实现&#xff0c;在Spring Boot项目中直接导入spring-boot-starter-validation即可。 Valid 和 Validated 的区别 适用范围…

事务的简介

一、什么是事务 事务是一组数据库的操作序列&#xff0c;包含一个或多个sql操作命令&#xff08;增删改&#xff09;&#xff0c;事务将所有的操作命令看做一个不可分割的整体&#xff0c;向数据库系统提交或撤销操作&#xff0c;所有操作要么执行要么不执行。 ●事务是一种机…