1、QString::arg()
用字符串变量参数依次替代字符串中最小数值
原型之一:
QString arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ' ' )) const
fieldWidth为字符宽度,base为a转化为的进制
实例:
#include<QDebug>
int main()
{
//%1和%2依次替换为arg中的参数
QString s = QString("s %1 %2").arg("is").arg("string");
qDebug()<<s;
//默认替换为111的十进制,16表示十六进制
s = QString("a=%1,a=%2").arg(111).arg(111,0,16);
qDebug()<<s;
//%数值相同时对应同一个arg参数,所以参数333是多余的
s = QString("a=%1,a=%1").arg(222).arg(333);
qDebug()<<s;
//L截断字符串,转换为16进制时忽略L
s = QString("b=%1,b=%L2,b=%L3").arg(12345).arg(12345).arg(12345,0,16);
qDebug()<<s;
return 0;
}
2、QString与string,char* 之间的转换
借助中间类型QByteArray
#include<iostream>
#include<string>
#include<QString>
#include<QDebug>
#include<QByteArray>
using namespace std;
int main()
{
QString qstr = QString("hello!");
qDebug()<<"QString:"<<qstr;
char* s1 = new char[10];
QByteArray ba = qstr.toLocal8Bit();
s1 = ba.data();
cout<<"s1:"<<s1<<endl;
string str;
str = ba.data();
cout<<"str:"<<str<<endl;
str = qstr.toStdString();
cout<<"str:"<<str<<endl;
return 0;
}
string s = qstr.toStdString();
QString qstr2 = QString::fromStdString(s);
3、bool QString::isEmpty() const
判断是否为空,是返回true