1、QString转int
QString str = "12"; int num = str.toInt();
2、int转QString
int num = 10; QString str = QString::number(num); //number是一个静态函数把任何类型数据转为字符串,可以类名调用
3、char* 转QString
Char * a = “hello”; QString str(a); //利用QString的构造函数转
4、QString转char *
QString str = "helloworld"; QByteArray arr = str.toUtf8(); char* ptr = arr.data();
注意:char* ptr = str.toUtf8().data(); 这样写错误,QByteArray类型结果不能保存,最后转换,ptr的值就为空或者乱码。
5、string转QString
QString path = QString::fromStdString(string);
6、QString转string
QString msg = "helloworld"; string str = msg .toStdString();
7、QString字符串分割
QStringList list = param.split("/"); //QString param = “start/mv/rf” int length = list.size(); //3 QString msg = list[0]; //start
8、QString字符串截取
QString str = param.mid(0, 5); //第一个参数为截取的起始位置,第二个参数为截取长度 QString str = param.mid(5); //从索引5开始截取字符串到结束
9、QString查找子字符串
int index = param.indexOf(“rt”); //返回子字符串第一次出现的索引,从前往后查找 int index = param.lastIndexOf(“rt”); //返回子字符串最后一次出现的索引,从后往前查找
10、QString字符串替换
QString x = "Say yes!"; QString y = “no”; x.replace(4, 3, y); //索引4开始往后的三个字符替换为no
12、QString是否包含某个字符串
QString urlString = QString("http://baidu/deviceinfo"); if(urlString.contains("deviceinfo",Qt::CaseSensitive)){ qDebug() << "包含了"; }
注意:Qt::CaseSensitive 代表区分大小写;Qt::CaseInsensitive 代表不区分大小
13、QString字符串插入
QString.insert(插入位置, 插入的字符串)