当前位置: 首页 > news >正文

Qt中的字符串类

Qt中的字符串类

一. QString类的特点

  1. 采用Unicode编码
  2. 使用隐式共享技术来节省内存和不必要的数据拷贝
  3. 跨平台使用,不必考虑字符串的平台兼容性

二. QString类的一些使用方法

  1. 定义、赋初值和打印

    void test1()
    {
        QString s1("hello");
        QString s2= " world";
        QString s3 = s1+s2;
        QString s4 = "にいはお";
    
        qDebug() << s1;
        qDebug() << s2;
        qDebug() << s3;
        qDebug() << s4;
    }
    
    
    17:16:46: Starting E:\QTest\build-3-QString-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\debug\3-QString.exe ...
    "hello"
    " world"
    "hello world"
    "にいはお"
    
  2. 追加、拼接

    void test2()
    {
        QString s1("hello");
        QString s2= " world";
        QString s3 = s1+s2;
        QString s4 = "にいはお";
    
        qDebug() << s1;
        s1.append(s2);  //s1向后追加s2的内容 "hello world"
        qDebug() << s1;
    
        s2.prepend(s4); //s2前面拼接字符串s4  "にいはお world"
        qDebug() << s2;
        
        qDebug() << s3;
        qDebug() << s4;
    
    }
    
    17:23:10: Starting E:\QTest\build-3-QString-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\debug\3-QString.exe ...
    "hello"
    "hello world"
    "にいはお world"
    "hello world"
    "にいはお"
    
  3. 查找字符、子串、修剪字符串

    void test3()
    {
        QString s1("hello Andrea");
        QString s2= "你好 二莹子";
        QString s3 = "              にいはお えんちゃん";
    
        qDebug() << s1.indexOf(" ");  //indexOf()这个方法可以返回字符串中某个字符的下标位置
        qDebug() << s1[s1.indexOf(" ")]; //字符串可以直接下标访问某个字符,这里验证一下上面的indexOf()的准确性
    
        qDebug() << s2.mid(s2.indexOf(" ")+1, s2.length()); //mid(起始位置的下标,结束位置的下标)这个方法,可以获取字符串中的子串,这句话的功能是获取到s2这个字符串中"二莹子"这个字符串
    
        qDebug() << s3;
        s3 = s3.trimmed();  //将起始位置的空格删除
        qDebug() << s3;
    
    }
    
    17:40:12: Starting E:\QTest\build-3-QString-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\debug\3-QString.exe ...
    5
    ' '
    "二莹子"
    "              にいはお えんちゃん"
    "にいはお えんちゃん"
    

三. QString的使用注意事项

  1. 在QString的构造函数中有如下的描述
    在这里插入图片描述
  2. 编辑器要设置成UTF-8的编码格式,这样给QString传递内容的时候,数据才显示正常,代码才能通过编译。
    在这里插入图片描述
    编辑区域右上角选择编辑器的编码格式,选择UTF-8后点击按编码格式保存
    在这里插入图片描述

相关文章:

  • 计算器字符串转换问题
  • QDialog - 对话框
  • 登录对话框的设计和实现
  • Qt中的标准对话框
  • 布局管理器
  • Qt工程添加资源文件(例如:图标)
  • 主窗口 (QMainWindow)
  • C++中的explicit
  • Qt中的事件处理
  • 使用二阶构造实现计算器页面的构造过程
  • Linux内核的CodingStyle
  • 常见面试题及面试准备阶段要思考的问题
  • Qt中事件的传递过程
  • Qt事件初探-发现事件
  • Qt中TCP通信的实现
  • [Vue CLI 3] 配置解析之 css.extract
  • 【347天】每日项目总结系列085(2018.01.18)
  • CEF与代理
  • CSS魔法堂:Absolute Positioning就这个样
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • ES10 特性的完整指南
  • Intervention/image 图片处理扩展包的安装和使用
  • java8-模拟hadoop
  • Material Design
  • MySQL几个简单SQL的优化
  • Nodejs和JavaWeb协助开发
  • SSH 免密登录
  • Vue组件定义
  • 电商搜索引擎的架构设计和性能优化
  • 技术:超级实用的电脑小技巧
  • 坑!为什么View.startAnimation不起作用?
  • 老板让我十分钟上手nx-admin
  • 聊聊hikari连接池的leakDetectionThreshold
  • 面试总结JavaScript篇
  • 微信小程序开发问题汇总
  • 一个完整Java Web项目背后的密码
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​Java并发新构件之Exchanger
  • !!java web学习笔记(一到五)
  • # Java NIO(一)FileChannel
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十六)串口UART
  • (数据结构)顺序表的定义
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)库存超卖案例实战——优化redis分布式锁
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • .NET Core 2.1路线图
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET CORE Aws S3 使用