QString使用(拆分、拼接、补零等操作)
组合字符常用arg()函数
QString test=QString("_haha_%1_hehe%2") .arg(int(2)).arg("aa"); //test="_haha_2_heheaa"
QString arg(const QString &a, int fieldWidth=0, QChar fillChar=QLatin1Char(' '))const; //参数1.连接的字符;参数2.字符所占据的宽度;参数3.如果字符的宽度小于参数2的宽度,则用参数3的字符填充。
如下图所示:fieldWidth >0 ,代表的右对齐; fieldWidth <0,代表的左对齐。如下图所示:
.
提取具有分割符的字符串用section()函数
QString QString::section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; //参数1,代表分隔符;参数2,提取字符的起始位置;参数3,提取字符的结束位置;参数4,表示特殊处理如跳过空串/大小写敏感。
QString path = "/usr/local/bin/myapp"; //首部为空 QString::SectionFlag flag = QString::SectionSkipEmpty; //跳过空串 path.section('/', 2, 2); //"local" path.section('/', 3, 4); //"bin/myapp"。 path.section('/', 3, 3, flag); //"myapp",空字符串不被当做开始或结束的地方
通过QStringList拼接字符串
QStringList test; test << "hello" << "world" << "hahaha"; QString test1 = test.join(" ") + "!"; //"hello world hahaha!"
整数转字符不足补零
QString s1 = QString("%1").arg(11, 4, 10, QLatin1Char('0')); //"0011" QString s2 = QString("%1").arg(11, 4, 16, QLatin1Char('0')); //"000B"
QString在结构体中是直接当做4个字节的指针来占用内存的
坚持成就伟大