首页 > 技术知识 > 正文

QString常见用法详解(一)

QString 是 Qt 编程中常用的类,QString 存储字符串釆用的是 Unicode 码,每一个字符是一个 16 位的 QChar,而不是 8 位的 char,所以 QString 处理中文字符没有问题,而且一个汉字算作是一个字符。

字符串拼接 1. “+” 用于组合两个字符串,“+=” 用于将一个字符串追加到另一个字符串的末尾。

例: QString str1 = “C”; str1 = str1 + “++”; //str1 = “C++” QString str2 = “Q”; str2 += “T”; //str2 = “QT”

2. append() 和 prepend()

append() 在字符串的后面添加字符串,prepend() 在字符串的前面添加字符串。 例: QString str1=”Q”,str2=”T”; QString str3=str1; str1.append (str2) ; //str1=”QT” str3.prepend (str2) ; //str3=”TQ

3. QString::arg()

QString的arg()方法用于填充字符串中的%1,%2…为给定的参数 例: QString str = QString(“%1%2%3”).arg(“a”).arg(“b”).arg(“1”); // str = “a_b1” 它还有另外一种重载方法: QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( )) const 这个方法用于填充字符串中的%1,%2…为给定格式的整形数字,其中第一个参数是要填充的数字,第二个参数为最小宽度,第二个参数为进制,第四个参数为当原始数字长度不足最小宽度时用于填充的字符。 例: QString str = QString(“0x%1%2”).arg(0, 2, 16, QChar(0)).arg(4, 2, 10, QChar(0)); // text = “0x00_04”

大小写转换

toUpper() 和 toLower() toUpper() 将字符串内的字母全部转换为大写形式,toLower() 将字母全部转换为小写形式 例: QString str1=”Qt”, str2; str2=str1.toUpper(); //str1=”QT” str2=str1.toLower(); //str1=”qt”

字符串长度

count()、size() 和 length() count()、size() 和 length() 都返回字符串的字符个数,这 3 个函数是相同的,但是要注意,字符串中如果有汉字,一个汉字算一个字符。 QString str1=”NI好” int N=str1.count() //N=3 int N=str1.size() //N=3 int N=str1.length() //N=3

判断是否是空

isNull() 和 isEmpty() 两个函数都判读字符串是否为空,但是稍有差别。如果一个空字符串,只有“\0”,isNull() 返回 false,而 isEmpty() 返回 true;只有未赋值的字符串,isNull() 才返回 true。 QString str1, str2=””; qDebug() << str1.isNull () ; // true 未赋值字符串变量 qDebug() << str2.isNull () ; // false 只有”\0″的字符串,也不是 Null qDebug() << str1.isEmpty(); // true qDebug() << str2.isEmpty(); // true

去除空格

trimmed() 去掉字符串首尾的空格,simplified() 不仅去掉首尾的空格,中间连续的空格也用一个空格替换。 QString str1=” Qt Test “, str2; str2=str1.trimmed () ; //str1=”Qt Test” str2=str1.simplified(); //str1=”Qt Test”

拆分字符串

split函数用于拆分字符串 QString str = “1,2,3,4,5,6,7,8,9,10”; QStringList strList = str.split(,);//strList是字符串列表,内容是{1,2,3,4,5,6,7,8,9,10}

以上是常见的QString用法,目前想到这些,之后想到再加

猜你喜欢