欢迎来到天天文库
浏览记录
ID:49450359
大小:1.48 MB
页数:77页
时间:2020-02-05
《Qt5开发及实例(第2版)-第2章 Qt 5模板库、工具类及控件.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2章Qt5模板库、工具类及控件2.12.22.3字符串类容器类QVariant类2.42.5算法及正则表达式控件2.1字符串类2.1.1操作字符串字符串有如下几个操作符。(1)QString提供了一个二元的“+”操作符用于组合两个字符串,并提供了一个“+=”操作符用于将一个字符串追加到另一个字符串的末尾,例如:QStringstr1="Welcome";str1=str1+"toyou!";//str1="Welcometoyou!"QStringstr2="Hello,";str2+="World!";//str2="Hello,W
2、orld!"其中,QStringstr1="Welcome"传递给QString一个constchar*类型的ASCII字符串“Welcome”,它被解释为一个典型的以“ ”结尾的C类型字符串。这将会导致调用QString构造函数,来初始化一个QString字符串。其构造函数原型为:QT_ASCII_CAST_WARN_CONSTRUCTORQString::QString(constchar*str)2.1.1操作字符串(2)QString::append()函数具有与“+=”操作符同样的功能,实现在一个字符串的末尾追加另一个字符串
3、,例如:QStringstr1="Welcome";QStringstr2="to";str1.append(str2);//str1="Welcometo"str1.append("you!");//str1="Welcometoyou!"(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义符和C++库中的函数sprintf()定义的一样。例如:QStringstr;str.sprintf("%s","Welcome");//str="Welcome"str.sprintf("%s","toyou!
4、");//str="toyou!"str.sprintf("%s%s","Welcome","toyou!");//str="Welcometoyou!"2.1.1操作字符串(4)Qt还提供了另一种方便的字符串组合方式,使用QString::arg()函数,此函数的重载可以处理很多的数据类型。此外,一些重载具有额外的参数对字段的宽度、数字基数或者浮点数精度进行控制。通常,相对于函数QString::sprintf(),函数QString::arg()是一个比较好的解决方案,因为它类型安全,完全支持Unicode,并且允许改变"%n"参数
5、的顺序。例如:QStringstr;str=QString("%1wasbornin%2.").arg("John").arg(1982);//str="Johnwasbornin1982.“(5)QString也提供了一些其他组合字符串的方法,包括如下几种。①insert()函数:在原字符串特定的位置插入另一个字符串。②prepend()函数:在原字符串的开头插入另一个字符串。③replace()函数:用指定的字符串代替原字符串中的某些字符。2.1.1操作字符串(6)很多时候,去掉一个字符串两端的空白(空白字符包括回车字符“”、换
6、行字符“r”、制表符“t”和空格字符“”等)非常有用,如获取用户输入的账号时。①QString::trimmed()函数:移除字符串两端的空白字符。②QString::simplified()函数:移除字符串两端的空白字符,使用单个空格字符“”代替字符串中出现的空白字符。例如:QStringstr="Welcomettoyou!";str=str.trimmed();//str="Welcomettoyou!"2.1.2查询字符串数据(1)函数QString::startsWith()判断一个字符串是否以某个字符串开头。
7、此函数具有两个参数。第一个参数指定了一个字符串,第二个参数指定是否大小写敏感(默认情况下,是大小写敏感的),例如:QStringstr="Welcometoyou!";str.startsWith("Welcome",Qt::CaseSensitive);//返回true;str.startsWith("you",Qt::CaseSensitive);//返回false;(2)函数QString::endsWith()类似于QString::startsWith(),此函数判断一个字符串是否以某个字符串结尾。(3)函数QString::
8、contains()判断一个指定的字符串是否出现过,例如:QStringstr="Welcometoyou!";str.contains("Welcome",Qt::CaseSensitive);//返回t
此文档下载收益归作者所有