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);
本文转载自: https://blog.csdn.net/m0_73483024/article/details/132397610
版权归原作者 程序小白的code之路(记录分享) 所有, 如有侵权,请联系我们删除。
版权归原作者 程序小白的code之路(记录分享) 所有, 如有侵权,请联系我们删除。