您的当前位置:首页Qt中的QString和QStringList常用方法

Qt中的QString和QStringList常用方法

来源:小侦探旅游网
Qt中的QString和QStringList常⽤⽅法

QString

//QString定义

QString s1 = \"abc\";QString s2(\"hello\");//字符串连接

QString s = s1 + s2;

//组包

s = QString(\"a = %1, b = %2, c = %3\").arg(250).arg(\"hello\").arg(22.22);qDebug()<//输出结果:a = 250, b = hello, c = 22.22

s = \"a=250,b=hello,c=22.22\";

//参数表⽰按逗号分隔, 拆分出第0段到第1段, 保存到tmpQString tmp = s.section(\qDebug()<<\"tmp = \"<//输出结果:tmp=\"a=250,b=hello\"

s = \"a=250,b=hello,c=22.22\";

//参数表⽰按逗号分隔, 拆分出第0段到第0段, 保存到tmpQString tmp = s.section(\qDebug()<<\"tmp = \"<//int转QString组包⽅式转

tmp = QString(\"%1\").arg(123);qDebug()<<\"tmp=\"<const char * buf = \"hello, world\";QString ss = buf;

qDebug()<<\"ss = \"<< ss;

//std::string转QStringstring s = \"hello, world\"

QString ss = QString::fromStdString(s);qDebug()<<\"ss = \"<< ss;

//std::wstring转QString

std::wstring wstr(L\"你好, 世界\");

QString ss = QString::fromStdWString(wstr);qDebug()<<\"ss = \"<< ss;//字符数组转QString

char buf2[100] = \"hello world\";ss = buf2;

qDebug()<<\"ss = \"<//QString转char *ss = \"hello abc\";

//如果没有中⽂(即字符串为ASCII):QByteArray tmp = ss.toLatin1();char * buf3 = tmp.data();

//如果有中⽂(即字符串为unicode):QByteArray tmp = ss.toLocal8Bit();char * buf4 = tmp.data();

//替换QString中字符串

QString text(\"text-decoration: none\");text.replace(\"none\

//去除QString⾸尾的空格(包括'\', '\\n', '\\v', '\\f', '\\r')QString text(\" text-decoration: none \");text = text.trimmed();

//字符移除操作

QString test = \"hello,china\";

QString tmp = test.remove(2, 4); //从下标2的字符开始, 移除4个字符qDebug() << \"test = \" << test; //输出hechinaqDebug() << \"tmp = \" << tmp; //输出hechina

//判断字符是否以某字符或字符串开始/结束(startsWith/endsWith)QString test= \"@192.168.0.1\";if(true == test.startsWith(\"@\")){

//do something}

//判断QString是否空

QString().isEmpty(); // return trueQString(\"\").isEmpty(); // return trueQString(\" \").isEmpty(); // return falseQString(\"abc\").isEmpty(); // return falseQString().isNull(); // return trueQString(\"\").isNull(); // return falseQString(\" \").isNull(); // return falseQString(\"abc\").isNull(); // return false

//数字⾼位填0转为字符串int tmp = 8;

QString strNew = QString(\"%1\").arg(tmp, 4, 10, QLatin1Char('0')); //4表⽰转为4位字符串, 10表⽰10进制. '0'表⽰填0qDebug() << strNew; // 打印结果: 0008

QStringList

//定义

QStringList list;//添加字符串list << \"hello\";list << \"world\";list.append(\"abc\");//例⼦2

QStringList chinaMonth; chinaMonth

<< QStringLiteral(\"正⽉\") << QStringLiteral(\"⼆⽉\") << QStringLiteral(\"三⽉\") << QStringLiteral(\"四⽉\") << QStringLiteral(\"五⽉\") << QStringLiteral(\"六⽉\") << QStringLiteral(\"七⽉\") << QStringLiteral(\"⼋⽉\") << QStringLiteral(\"九⽉\") << QStringLiteral(\"⼗⽉\") << QStringLiteral(\"冬⽉\") << QStringLiteral(\"腊⽉\") ;//打印

qDebug()<< \"list =\"<< list;//遍历

for(int i = 0; i< list.size();++i){

QString tmp = list.at(i);

qDebug()<<\"tmp =\"<< tmp; }

//使⽤QStringList拆分QStringQString str = \"hello,world,abc,qt\";QStringList list2 = str.split(\qDebug()<<\"list2=\"<//输出:list2=(\"hello\//判断QStringList中是否包含某个成员bool b = list2.contains(\"123\");//移除QStringList中的成员list2.removeOne(\"abc\");

因篇幅问题不能全部显示,请点此查看更多更全内容