c++ qt--QString,弹出框(第二部分)

c++ qt–QString,弹出框(第二部分)

一.QString

1.所用头文件

#include<QString>

2.功能

1.初始化

可以用字符,常量字符串、字符指针、字符数组等类型给QString进行初始化

QString str2="4567";//进行初始化

2.拼接

QString str1="1234";
QString str2="5678";
str1+=str2;//进行拼接

3.QString与const char*和string的转换

1.QString->const char*
const char*p1=str2.toStdString().c_str();//用const char*变量接一下返回的数据
2.QString->string
string str;//定义一个字符串
str=str2.toStdString();//用字符串变量接一下返回的字符串
3.string->QString
QSting str2;//定义一个QString
str2=str2.fromStdString(str);//用QString变量接一下返回的QString类型的数据

4.sprintf格式化

str2.sprintf("%d-%c-%s",aa,b,p);//直接作用于调用的str对象的,相当于对str重新赋值

5.arg的灵活格式化

//第一种写法
str2="%8-%2-%95-%1";//依次 替换%数字最小的,%后的数字取两位
str2=str2.arg(84).arg('u').arg(p).arg("456");
qDebug()<<str2;//输出字符串,这里的qDebug是qt里面独有的输出方式,自带换行//当出现下面的写法时会出现一些问题
str2=QString("%2%1%3").arg(34).arg('o').arg("zxc");
qDebug()<<str2;//这里是因为34替换完之后和%2进行了结合变成了%23,所以我们可以在每个%数字之后加上空格或-进行分隔//第二种写法str2=QString("%2%1%3").arg("34","56","78");//要求参数是QString字符串
qDebug()<<str2;//这种写完就避免了结合问题

6.数字与QString之间的转换

str2=QString::number(34);//将数字转为QString字符串
qDebug()<<str2;
str2="12";//将QString字符串转为数字
int d=str2.toInt();str2="A";
bool isOk=true;//看是否能够转换成功
d=str2.toInt(&isOk);//这里还有第二个参数,默认是以10进制进行转换
Debug()<<d<<"   "<<isOk;//输出为false,转换不成功str2="A";
isOk=true;//看是否能够转换成功
d=str2.toInt(&isOk,16);//这列第二个参数以16进制进行转换
qDebug()<<d<<"   "<<isOk;//输出为true,转换不成功

7.判断字符串是否存在,查找字符串(返回的是第一个字符的下标)

str2="123423156465132123";bool k=str2.contains("123");//判断一个字符串是否存在
qDebug()<<k;int index=str2.indexOf("123");//正向查找
qDebug()<<index;index=str2.lastIndexOf("123");//反向查找
qDebug()<<index;index=str2.lastIndexOf("999");
qDebug()<<index;//找不到返回-1

8.去除空白符

空白符包括空格,制表符和回车换行符

str2="  \n  456 \t  123  \n";
str2=str2.trimmed();//去除字符串两边的空字符
str2=str2.simplified();//将一个或多个内部空白符替换为单个空格,同时去掉两端的空白符
//注意:simplified和trimmed函数并不是直接作用于字符串本身,所以我们一般需要返回值

9.分割(将字符串按照指定的字串进行拆分,返回字符串数组QStringList)

str2="  1234 456 789 432   456 1 1 1";
str2=str2.simplified();
QStringList stringList =str2.split(' ');//按照空格进行拆分,返回的是字符串数组,这里用字符串链表接一下
for(QString v:stringList){//范围遍历进行输出拆分后的各个字符串qDebug()<<v;
}

二.弹出框

1.所用头文件

#include<QMessageBox>

2.使用

//提示框
QMessageBox::information(nullptr/*父窗口*/,"info"/*标题*/,"this is a information"/*提示的文本*/);//指定按钮,第四个参数来进行指定
QMessageBox::information(nullptr,"info","this is a information",QMessageBox::Yes|QMessageBox::No);//用位或的形式指定两个按钮//接一下返回值,返回值也是枚举类型,然后根据返回值,进行进一步的操作
QMessageBox::StandardButton button= QMessageBox::information(nullptr,"info","this is a information",QMessageBox::Yes|QMessageBox::No);
if(button==QMessageBox::Yes){qDebug()<<"Yes";
}
//警告框
QMessageBox::warning(nullptr,"warning","this is a warning",QMessageBox::Yes|QMessageBox::No);
//错误框
QMessageBox::critical(nullptr,"critical","this is a critical",QMessageBox::Yes|QMessageBox::No);

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

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

相关文章

卷积神经网络实现天气图像分类 - P3

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;Pytorch实战 | 第P3周&#xff1a;彩色图片识别&#xff1a;天气识别&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff…

【LeetCode75】第三十五题 统计二叉树中好节点的数目

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一棵二叉树&#xff0c;让我们统计这棵二叉树中好节点的数目。 那么什么是好节点&#xff0c;题目中给出定义&#xff0c;从根节点…

1782. 统计点对的数目

给你一个无向图&#xff0c;无向图由整数 n &#xff0c;表示图中节点的数目&#xff0c;和 edges 组成&#xff0c;其中 edges[i] [ui, vi] 表示 ui 和 vi 之间有一条无向边。同时给你一个代表查询的整数数组 queries 。 第 j 个查询的答案是满足如下条件的点对 (a, b) 的数…

MySQL图形化管理工具

MySQL图形化管理工具极大地方便了数据库的操作与管理&#xff0c;常用的图形化管理工具有&#xff1a;MySQL Workbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MySQL ODBC Connector。 工具1&#xff1a;MySQL Workbench MySQL官方出品的工具。 工具…

实现高效消息传递:使用RabbitMQ构建可复用的企业级消息系统

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

【Linux】动态库和静态库

动态库和静态库 软链接硬链接硬链接要注意 自定义实现一个静态库(.a)解决、使用方法静态库的内部加载过程 自定义实现一个动态库&#xff08;.so&#xff09;动态库加载过程 静态库和动态库的特点 软链接 命令:ln -s 源文件名 目标文件名 软链接是独立连接文件的&#xff0c;他…

Servlet+JDBC实战开发书店项目讲解第15讲:项目开发总结

ServletJDBC实战开发书店项目讲解第15讲&#xff1a;项目开发总结 在本篇博客中&#xff0c;我们将对我们开发的书店管理系统进行详细总结。主要内容包括前后端的总结&#xff0c;从需求分析到编码实现&#xff0c;测试&#xff0c;最后上线的整个开发过程。 需求分析 在项目…

MongoDB +Dataframe+excel透视表

读取MongoDB中的表 from pymongo import MongoClient import pandas as pd client MongoClient(IP地址, 27017)db client[AOI] collection db[表名] #替换为实际的名称 document collection.find({time:{$gte:2023-08-15 15:26:06}})#筛选数据 df pd.DataFrame(list(docu…

Tomcat运行后localhost:8080访问自己编写的网页

主要是注意项目结构&#xff0c;home.html放在src/resources/templates下的home.html下&#xff0c;application.properties可以不做任何配置。还有就是关于web包的位置&#xff0c;作者一开始将web包与tabtab包平行&#xff0c;访问8080出现了此类报错&#xff1a; Whitelabel…

c++ qt--页面布局(第五部分)

c qt–页面布局&#xff08;第五部分&#xff09; 一.页面布局 在设计页面的左侧一栏的组件中我们可以看到进行页面布局的一些组件 布局组件的使用 1.水平布局 使用&#xff1a;将别的组件拖到水平布局的组件中即可&#xff0c;可以选择是在哪个位置 2.垂直布局 使用&…

【业务功能篇81】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-入门实战

ElasticSearch 一、ElasticSearch概述 1.ElasticSearch介绍 ES 是一个开源的高扩展的分布式全文搜索引擎&#xff0c;是整个Elastic Stack技术栈的核心。它可以近乎实时的存储&#xff0c;检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;…

GB28181设备接入侧如何对接外部编码后音视频数据并实现预览播放

技术背景 我们在对接GB28181设备接入模块的时候&#xff0c;遇到这样的技术诉求&#xff0c;好多开发者期望能提供编码后&#xff08;H.264/H.265、AAC/PCMA&#xff09;数据对接&#xff0c;确保外部采集设备&#xff0c;比如无人机类似回调过来的数据&#xff0c;直接通过模…

金字塔原理(思考的逻辑)

前言&#xff1a;前面学习了表达的逻辑&#xff0c;那在表达之前&#xff0c;如何组织内容&#xff1f;如何进行思考&#xff1f;接下来看第二篇——思考的逻辑。 目录 应用逻辑顺序 时间顺序 结构顺序 程度顺序 概括各组思想 什么是概括&#xff1f; 思想表达方式 如…

C语言学习笔记---指针进阶01

C语言程序设计笔记---016 C语言指针进阶前篇1、字符指针2、指针数组2.1、指针数组例程1 -- 模拟一个二维数组2.2、指针数组例程2 3、数组指针3.1、回顾数组名&#xff1f;3.2、数组指针定义与初始化&#xff08;格式&#xff09;3.3、数组指针的作用 --- 常用于二维数组3.4、数…

Vue中使用element-plus中的el-dialog定义弹窗-内部样式修改-v-model实现-demo

效果图 实现代码 <template><el-dialog class"no-code-dialog" v-model"isShow" title"没有收到验证码&#xff1f;"><div class"nocode-body"><div class"tips">请尝试一下操作</div><d…

智能化巡护通信解决方案全天候保障油气管线

油气管道在我国油气资源运输过程中发挥着“大动脉"的角色&#xff0c;维护油气管道运输安全与国家能源安全、公共安全之间有着密不可分的联系。从这一角度来看&#xff0c;落实油气管道巡查保护工作的现实价值&#xff0c;在当前的实践中&#xff0c;无线通信解决方案需要…

C语言易错点整理

前言&#xff1a; 本文涵盖了博主在平常写C语言题目时经常犯的一些错误&#xff0c;在这里帮大家整理出来&#xff0c;一些易错点会帮大家标识出来&#xff0c;希望大家看完这篇文章后有所得&#xff0c;引以为戒~ 一、 题目&#xff1a; 解答&#xff1a; 首先在这个程序中…

Unity ProBuilder SetUVs 不起作用

ProBuilder SetUVs 不起作用 &#x1f41f; 需要设置face.manulUV true public static void Set01UV(this ProBuilderMesh mesh){foreach (var face in mesh.faces){face.manualUV true;//设置为手动uv}var vertices mesh.GetVertices().Select(v > v.position).ToArray(…

mq与mqtt的关系

文章目录 mqtt 与 mq的区别mqtt 与 mq的详细区别传统消息队列RocketMQ和微消息队列MQTT对比&#xff1a;MQ与RPC的区别 mqtt 与 mq的区别 mqtt&#xff1a;一种通信协议&#xff0c;规范 MQ&#xff1a;一种通信通道&#xff08;方式&#xff09;&#xff0c;也叫消息队列 MQ…

openCV实战-系列教程5:边缘检测(Canny边缘检测/高斯滤波器/Sobel算子/非极大值抑制/线性插值法/梯度方向/双阈值检测 )、原理解析、源码解读

打印一个图片可以做出一个函数&#xff1a; def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows() 1、Canny边缘检测流程 Canny是一个科学家在1986年写了一篇论文&#xff0c;所以用自己的名字来命名这个检测算法&#xff0c;Canny边缘检测算法…