QT中QString的所有类用法大全
前言
之前用到QT中QString的用法,但总是忘记,这次自己整理出来,自己想用可以随时查看,同时也可以帮助到大家。
文章目录
- 前言
- 一、QString与其他变量的转换
- 1、QString::number();
- 2、QString("%").arg();
- 3、QString转换为 double类型
- 4、QString转换为 float类型
- 5、QString转换为int
- 6、QString转换为char *
- 7、QString转换为QByteArray
- 二、QString类函数
- 1.追加字符 append
- 2.组合字符QString(%1)
- 3.清除指定子串remove
- 4.字符串提取mid、left、right
- 5.判断某个字符是否存在(contains)
- 6.判断字符串是否是isEmpty
- 7.判断字符串是否NULL
- 8.分割字符串split
- 9.大小写切换toUpper、toLower
- 10.判断是否以某个字符串开始或结束startsWith、endsWith
- 11.获取字符串长度count、length(中文也只能算一个字符)
- 12.查找字符串获取第一次出现位置索引
- 13.插入(insert)
- 14.替换replace
- 15.删除尾部字符chop
一、QString与其他变量的转换
int,float,double转换为QString
1、QString::number();
例如:
int a = 20;QString s = QString::number(a, 10); //转换为十进制 s == "20"QString s = QString::number(a, 16); //转换为十六进制 s == "14"
2、QString(“%”).arg();
例如:
int a = 8;QString s = QString("%1").arg(a); // s == "8"
解释(%1为占位符)
3、QString转换为 double类型
QString s = "8.88";double a = s.toDouble(); //a = 8.88
4、QString转换为 float类型
QString s = "8.88";float a = s.toFloat(); //a = 8.88
5、QString转换为int
Qstring s="FF";bool ok;int dec=s.toInt(&ok,10); //转为十进制dec=255 ; ok=rueint hex =s.toInt(&ok,16); //转为十六进制hex=255;ok=true;
6、QString转换为char *
QString qstr("hello,word");const char * p = qstr.toLocal8Bit().data();
7、QString转换为QByteArray
QByteArray byte;QString string;byte = string.toLocal8Bit();本地编码byte = string.toUtf8() 中文
二、QString类函数
1.追加字符 append
QString str = "hello";str += "world"; //str = "helloworld"str.append("test"); //向后追加:str = "helloworldtest"str.prepend("This is "); //向前追加:str = "This is helloworldtest"
2.组合字符QString(%1)
QString str;str = QString("%1 %2 %3 %4").arg("This").arg("is").arg("a").arg("test"); //str = "This is a test"
3.清除指定子串remove
QString str = "Hello World";QString ss = str.remove("l"); //ss = "Heo Word"(移除指定字符串l)
4.字符串提取mid、left、right
QString s = "QString";QString ss = s.mid(1,3); //ss = "Str"(从第1 个后截取后面3个字符)
QString s = "QString";QString ss = s.mid(1); //ss = "String"(省略第二个参数表示从position开始截取到末尾)
QString s = "QString";QString ss = s.left(4); //ss = "QStr"(截取前4个字节并返回)
QString s = "QString";QString ss = s.right(3); //ss = "ing"(截取最后3个字节并返回)
5.判断某个字符是否存在(contains)
存在字符返回true,否则返回false
QString s = "QString";bool b = s .contains("ing",Qt::CaseSensitive) //true
6.判断字符串是否是isEmpty
bool isEmpty () const//原型
QString().isEmpty(); // returns trueQString("").isEmpty(); // returns trueQString("x").isEmpty(); // returns false
7.判断字符串是否NULL
bool isNull () const//原型
QString().isNull(); // returns trueQString("").isNull(); // returns falseQString("abc").isNull(); // returns false
8.分割字符串split
取出3个字符串
QString str = "You,I,She";QStringList list= str.split(","); //根据“,”来分割字符串,list.at(0) = "You", list.at(1) = "I", list.at(2) = "She"
过滤头尾空白字符串 trimmed
QString s(" abc def ghi "); s = s.trimmed(); //s = "abc def ghi"
9.大小写切换toUpper、toLower
切换全大写
QString s = "Hello";QString ss = s.toUpper(); //ss = "HELLO"
切换全小写
QString s = "Hello";QString ss = s.toLower(); //ss = "hello"
10.判断是否以某个字符串开始或结束startsWith、endsWith
QString s = "http:www.baidu.com";bool i = s.startsWith("http:"); //返回truebool i = str.endsWith("com"); //返回true
11.获取字符串长度count、length(中文也只能算一个字符)
QString s = "Hello World";获取长度:s.count(); //11获取字串出现次数 s.count("l"); //3获取长度:s.length(); //11
12.查找字符串获取第一次出现位置索引
QString x = "std::string & QString";QString y = "ing";
表示从第0个开始,整个字符第8个位置
x.indexOf(y); // return 8
表示从第10个开始,整个字符第18个位置
xx.indexOf(y,10); // return 18
表示从第18个开始,后续无法查找到y
x.indexOf(y,19); // return -1
13.插入(insert)
QString s = "hello world";s = s.insert(6,","); //往s的第六位插入, s = "hello ,world"
14.替换replace
QString str = "white man";str.replace(0 , 5, "Black"); //结果str为“Black man”
15.删除尾部字符chop
QString str = "white man";str.chop(4); //结果str为“Black”
QT中QString的所有类用法大全相关推荐
- C++实现Qt中QString().arg().arg()...的用法
以前,用Qt,现在用VS2015,在输出提示信息的时候,不是cout,就是printf,那个都没有用qt的时候QString().arg()-来的方便,又懒得百度c++有没有相似的用法,就自己写一个凑 ...
- Qt中的自定义模型类
文章目录 1 Qt中的通用模型类 1.1 Qt中的通用模型类 1.2 Qt中的变体类型QVariant 2 自定义模型类 2.1 自定义模型类设计分析 2.2 自定义模型类数据层.数据表示层.数据组织 ...
- [转]QT中QString与string的转化,解决中文乱码问题
[转]QT中QString与string的转化,解决中文乱码问题 参考文章: (1)[转]QT中QString与string的转化,解决中文乱码问题 (2)https://www.cnblogs.co ...
- pythonurllib模块-Python3中核心模块urllib的用法大全
Python的urllib模块提供了一个高级的Web通信库,支持基本的协议,如HTTP.FTP和Gopher,同时也支持对本地文件的访问.在Python3中,urllib.urlparse.urlli ...
- Qt的对话框与窗口--Qt中主要的窗体类及其用途
Qt中主要的窗体类及其用途 常用的窗体基类是QWidget.QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择.QWidget直接继承于QObjec ...
- Qt中 QString 和int,double等的转换
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- QT中QString 和 LPCWSTR 的相互转换
在windosw 编程中,常用到LPCWSTR 变量,QT中最常用到QString,下面提供QString和LPCWSTR 相互转换的方法 1.把 LPWSTR 转换成QString LPCWSTR ...
- qt5 -- qt中关于大小的类的学习笔记
QSize 这个精度是整型的 QSize定义了一个二维大小,包含宽度(width)和高度(height): 显然,一个QSize有三个函数:宽width(),高height(),比例scale() 可 ...
- Qt中 QString 和 int char char*等相互转换
在编写Qt程序过程中经常遇到各种数据类型的转换,故此写下来方便自己和大家的查找.叮!!! 1.QString to char* QString qstr = "hello"; ch ...
最新文章
- 086.冒泡排序的缺点及解决方案
- 每日一道面试题(第7期)---Android补间动画与属性动画的区别
- 关于极光IM设置昵称不生效的解决办法
- Hadoop核心机制详细解析
- 移动端web,tap与click事件
- asp绑定gridview属性_理解ASP.NET Core中的模型验证
- 收费最低的云存储_百度云:虚拟主机11元/6个月,入门级云服务器60元/年
- c/c++ / printf 实现
- Git SSH key配置
- 二叉树的创建及各种遍历
- 吴恩达机器学习作业 线性回归
- ps色板文件怎么导入?
- lammps教程:晶体建模之Atomsk方法(1)
- public static void mian(String[]args)剖析
- 【考研英语语法】十大词性
- jQuery-3.4.1下载
- JavaScript数据结构与算法笔记
- 3d可视化产品爆炸图案例
- Linux ubuntu 装openCV,Linux(ubuntu 16.04) 安装 opencv C++
- 玩转华为数据中心交换机系列 | 配置STP功能示例
热门文章
- Python3 ssl not available问题彻底解决
- 玩转RAW格——基础篇
- 搭乘社交电商“快车”平江特产“走四方”9个月狂卖300万
- 用Python探索《红楼梦》的人物关系
- 2019杭师大程序设计竞赛 赛后感悟
- 树莓派从开机到安装Opencv
- 机器学习笔记 - 使用机器学习进行鸟类物种分类
- HTML+CSS实践项目之摄影图片分享网站开发自我总结
- 膜拜大神!Linux之父家中停电6天,竟然还码出新版Linux内核还是来了
- 读扇区错误:0柱面0磁头1扇区(硬盘问题,蓝屏等 0x0000007B)