前言

之前用到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的所有类用法大全相关推荐

  1. C++实现Qt中QString().arg().arg()...的用法

    以前,用Qt,现在用VS2015,在输出提示信息的时候,不是cout,就是printf,那个都没有用qt的时候QString().arg()-来的方便,又懒得百度c++有没有相似的用法,就自己写一个凑 ...

  2. Qt中的自定义模型类

    文章目录 1 Qt中的通用模型类 1.1 Qt中的通用模型类 1.2 Qt中的变体类型QVariant 2 自定义模型类 2.1 自定义模型类设计分析 2.2 自定义模型类数据层.数据表示层.数据组织 ...

  3. [转]QT中QString与string的转化,解决中文乱码问题

    [转]QT中QString与string的转化,解决中文乱码问题 参考文章: (1)[转]QT中QString与string的转化,解决中文乱码问题 (2)https://www.cnblogs.co ...

  4. pythonurllib模块-Python3中核心模块urllib的用法大全

    Python的urllib模块提供了一个高级的Web通信库,支持基本的协议,如HTTP.FTP和Gopher,同时也支持对本地文件的访问.在Python3中,urllib.urlparse.urlli ...

  5. Qt的对话框与窗口--Qt中主要的窗体类及其用途

    Qt中主要的窗体类及其用途     常用的窗体基类是QWidget.QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择.QWidget直接继承于QObjec ...

  6. Qt中 QString 和int,double等的转换

    Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...

  7. QT中QString 和 LPCWSTR 的相互转换

    在windosw 编程中,常用到LPCWSTR 变量,QT中最常用到QString,下面提供QString和LPCWSTR 相互转换的方法 1.把 LPWSTR 转换成QString LPCWSTR ...

  8. qt5 -- qt中关于大小的类的学习笔记

    QSize 这个精度是整型的 QSize定义了一个二维大小,包含宽度(width)和高度(height): 显然,一个QSize有三个函数:宽width(),高height(),比例scale() 可 ...

  9. Qt中 QString 和 int char char*等相互转换

    在编写Qt程序过程中经常遇到各种数据类型的转换,故此写下来方便自己和大家的查找.叮!!! 1.QString to char* QString qstr = "hello"; ch ...

最新文章

  1. 086.冒泡排序的缺点及解决方案
  2. 每日一道面试题(第7期)---Android补间动画与属性动画的区别
  3. 关于极光IM设置昵称不生效的解决办法
  4. Hadoop核心机制详细解析
  5. 移动端web,tap与click事件
  6. asp绑定gridview属性_理解ASP.NET Core中的模型验证
  7. 收费最低的云存储_百度云:虚拟主机11元/6个月,入门级云服务器60元/年
  8. c/c++ / printf 实现
  9. Git SSH key配置
  10. 二叉树的创建及各种遍历
  11. 吴恩达机器学习作业 线性回归
  12. ps色板文件怎么导入?
  13. lammps教程:晶体建模之Atomsk方法(1)
  14. public static void mian(String[]args)剖析
  15. 【考研英语语法】十大词性
  16. jQuery-3.4.1下载
  17. JavaScript数据结构与算法笔记
  18. 3d可视化产品爆炸图案例
  19. Linux ubuntu 装openCV,Linux(ubuntu 16.04) 安装 opencv C++
  20. 玩转华为数据中心交换机系列 | 配置STP功能示例

热门文章

  1. Python3 ssl not available问题彻底解决
  2. 玩转RAW格——基础篇
  3. 搭乘社交电商“快车”平江特产“走四方”9个月狂卖300万
  4. 用Python探索《红楼梦》的人物关系
  5. 2019杭师大程序设计竞赛 赛后感悟
  6. 树莓派从开机到安装Opencv
  7. 机器学习笔记 - 使用机器学习进行鸟类物种分类
  8. HTML+CSS实践项目之摄影图片分享网站开发自我总结
  9. 膜拜大神!Linux之父家中停电6天,竟然还码出新版Linux内核还是来了
  10. 读扇区错误:0柱面0磁头1扇区(硬盘问题,蓝屏等 0x0000007B)