Qt之QString常用方法

来源:互联网 发布:java线程池 关闭 编辑:程序博客网 时间:2024/06/05 10:00
Qt中的字符串类 QString类 保存了16位Unicode值,提供了丰富的操作、查询和转换等函数。


QString 字符串有如下几个操作符:


(1) “+” 用于组合两个字符串,“+=” 用于将一个字符串追加到另一个字符串的末尾,例如:


1 QString str1 = "Welcome";
2 str1 = str1 + "to you !";   //str1 = "Welcome to you!"
3 QString str2 = "Hello,";
4 str2 += "World!";      //str2 = "Hello,World!"
(2)QString::append()函数,具有与“+=”操作符同样的功能,实现字符串末尾追加另一个字符串,例如:


1 QString str1 = "Welcome ";
2 QString str2 = "to ";

4 str1.append(str2);             //str1 = "Welcome to "
5 str1.append("you !");         //str1 = "Welcome to you !"
(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义和C++库中的函数sprintf()定义一样,例如:


1 QString str;
2 str.sprintf("%s","Welcome ");     //str = "Welcome "
3 str.sprintf("%s"," to you! ");      //str = " to you! "
4 str.sprintf("%s %s","Welcome "," to you! ");     //str = "Welcome  to you! ";
(4)Qt还提供了另一种方便的字符串组合方式,使用QString::arg()函数,此函数的重载可以处理很多的数据类型。此外,一些重载具有额外的参数对字段的宽度、数字基数或者浮点精度进行控制。相对于QString::sprintf(),QString::arg()是一个比较好的解决方案,因为它类型安全,完全支持Unicode,并且允许改变“/n”参数的顺序。例如:


1 QString str;
2 str = QString("%1 was born in %2.").arg("Joy").arg(1993);     //str =  "Joy was born in 1993.";
其中:


  “%1” 被替换为“Joy”.


   "%2"被替换为“1993”.


(5)QString 也提供了一些其他的组合字符串的方法,包括以下几种:


  a.  insert()函数:在原字符串特定位置插入另一个字符


  b.  prepend()函数:在原字符串开头插入另一个字符串


  c.  replace()函数:用指定的字符串去代替原字符串中的某些字符


(6)去除字符串两端的空白(空白字符包括回车符号“\n”、换行符“\r”、制表符"\t"和空格字符:“ ”等)非常常用,如获取用户输入账号时就需要去掉空白符。


  a.  QString::trimmed()函数:移除字符串两端的空白符


  b.  QString::simplified()函数:移除字符串两端的空白字符,使用单个空格字符“ ”代替字符串中出现的空白字符。

(7)字符串比较

    比较两个字符串也是经常使用的功能,QString提供了多种比较手段。
operator<(const QString &);比较一个字符V换是否小于另一个字符串,如果是,则返回true。
operator<=(const QString &);比较一个字符串是否小于等于另一个字符串,如果是,则返回true。
operator==(const QString &);比较两个字符串是否相等,如果相等,则返回true。
operator>=(const QString &);比较一个字符串是否大于等于另一个字符串,如果是,则返回true

(8)toInt使用实例

QString::toInt()函数将字符串转换为整型数值,类似的函数还有toDouble、toFloat()、toLong()、toLongLong()等。下面例子说明其用法:
QString str="125";
bool ok=false;
int hex=str.toInt(&ok,16);//ok=true,hex=293
int dec=str.toInt(&ok,10);//ok=true,dec=125

原创粉丝点击