QString在Qt出镜相当之高,几乎无处没有它的影子。QString是Qt中最常用的用于处理与存储字符串对象。在本小节中,与笔者一起学习它的使用方法。
1. 字符串连接
(1)使用+=
1QString str = "User: ";
2str += userName + "\n";
(2)使用append
1str = "User: ";
2str.append(userName);
3str.append("\n");
2. 格式化
(1)使用sprintf
1str.sprintf("%s %.1f%%", "perfect competition", 100.0);
(2)使用arg()
1str = QString("%1 %2 (%3s-%4s)\n")
2.arg("permissive")
3.arg("society")
4.arg(1950)
5.arg(1970);
3. 与数值之间的转换
(1)数值-->字串
1str = QString::number(59.3);
2str.setNum(293.4);
可以带参。对于整数,可以设置进制,如2进制,8进制之类。对于浮点数,可以设置其精度。
(2)字串-->数值
通用格式: QString::to<DataType>(bool *isOK); 如:
1boolisOk;
2doubled = str.toDouble(&isOk);
3inti = str.toInt(&isOk);
4. 字串提取
(1)从字符串中提取指定位置的字符串
1str = "polluter pays principle";
2cout << str.mid(9, 4) << endl; // 从第9位开始取4个字符: pays
3cout << str.mid(9) << endl; // 从第9位开始取后面的所有字符串: pays principle
4cout << str.left(8) << endl; // 取前8个字符: polluter
5cout << str.right(9) << endl; // 取后9个字符: principle
(2)字串定位
1str = "the middle bit";
2inti = str.indexOf("middle");
上面的代码返回4。若没有找到指定的字串,则反回-1。