QT之QString的用法介绍

QT之QString的用法介绍

    • 成员函数
    • 常见用法

成员函数

1)QString &append(const QString &str)
将 str 字符串追加到当前字符串末尾,并返回修改后的 QString 对象的引用。

2)QString &prepend(const QString &str)
将 str 字符串插入到当前字符串开头,并返回修改后的 QString 对象的引用。

3)QString &insert(int position, const QString &str)
在当前字符串的指定位置插入 str 字符串,并返回修改后的 QString 对象的引用。

4)QString &remove(int position, int n)
从当前字符串中删除指定位置的 n 个字符,并返回修改后的 QString 对象的引用。

5)QString &replace(int position, int n, const QString &str)
用 str 字符串替换当前字符串中指定位置的 n 个字符,并返回修改后的 QString 对象的引用。

6)QString left(int n)
返回当前字符串的前 n 个字符构成的子串。

7)QString right(int n)
返回当前字符串的后 n 个字符构成的子串。

8)QString mid(int position, int n)
返回当前字符串中从指定位置开始的 n 个字符构成的子串。

9)bool startsWith(const QString &str)
检查当前字符串是否以 str 字符串开头,如果是则返回 true,否则返回 false。

10)bool endsWith(const QString &str)
检查当前字符串是否以 str 字符串结尾,如果是则返回 true,否则返回 false。

11)int size()
返回当前字符串的长度(字符数)。

12)const QChar *unicode()
返回指向当前字符串的 Unicode 字符数组的指针。

13)QByteArray toUtf8()
将当前字符串转换为 UTF-8 编码的字节数组并返回。

14)QString &operator=(const QString &other)
将 other 字符串赋值给当前字符串,并返回修改后的 QString 对象的引用。

15)operator const char *() const
将当前字符串转换为 C 风格字符串并返回指向该字符串的指针。

16)operator QByteArray() const
将当前字符串转换为 QByteArray 对象并返回。

17)QString toLower() const
将字符串转换为小写并返回。

18)QString toUpper() const
将字符串转换为大写并返回。

19)QString trimmed() const
去除字符串两端的空格并返回。

20)QString simplified() const
去除字符串中的连续空格并返回。

21)QString leftJustified(int width, const QString &fillChar = QString()) const
将字符串左对齐,并在右侧用指定字符填充至指定宽度。

22)QString rightJustified(int width, const QString &fillChar = QString()) const
将字符串右对齐,并在左侧用指定字符填充至指定宽度。

23)QString centered(int width, const QString &fillChar = QString()) const
将字符串居中,并在两侧用指定字符填充至指定宽度。

24)QStringList split(const QString &separator, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
根据指定的分隔符将字符串拆分为子字符串列表。

25)QString joined(const QString &separator) const
将字符串列表使用指定的分隔符拼接为一个字符串。

26)QString arg(const QString &a, int fieldWidth = 0, int base = 10, int precision = -1, int flags = 0) const
将字符串格式化为指定宽度、进制、精度和标志的数值,并返回结果字符串。

27)QString arg(qlonglong a, int base = 10, int precision = -1, int flags = 0) const
将长整型数值格式化为指定进制、精度和标志的字符串,并返回结果字符串。

28)QString arg(qulonglong a, int base = 10, int precision = -1, int flags = 0) const
将无符号长整型数值格式化为指定进制、精度和标志的字符串,并返回结果字符串。

29)QString arg(double a, int fieldWidth = 0, char formatChar = ‘g’, int precision = -1, int flags = 0) const
将浮点数格式化为指定宽度、格式字符、精度和标志的字符串,并返回结果字符串。

常见用法

1)创建字符串:
可以用 QString 构造函数来创建一个字符串。例如:

QString str1("Hello");
QString str2(10, 'a'); // 创建一个包含10个'a'的字符串

2)字符串连接:
使用 “+”, “+=”, QString::append() 和 insert() 函数可以实现字符串的连接。例如:

QString str1 = "Hello";
QString str2 = "World";
QString str3 = str1 + " " + str2; // "Hello World"QString str4;
str4 += "Hello";
str4 += " ";
str4 += "World"; // "Hello World"str4.append("Hello");
str4.append(" ");
str4.append("World"); // "Hello World"

3)字符串替换:
使用 replace() 函数可以替换字符串中的内容。例如:

QString str = "Hello World";
str.replace(5, 6, "Qt"); // 在第5个字符后插入"Qt",结果为 "Hello QtWorld"

4)字符串截取:
使用 left()、right() 和 mid() 函数可以截取字符串的子串。例如:

QString str = "Hello World";
QString sub1 = str.left(5); // "Hello"
QString sub2 = str.right(5); // "World"
QString sub3 = str.mid(6, 5); // "World"

5)字符串转换:
可以使用 QString 的静态方法 QString::number() 将整数、浮点数转换为字符串。例如:

int num = 123;
QString str1 = QString::number(num); // "123"

可以使用 QString 的 toInt()、toDouble() 和 toFloat() 方法将字符串转换为整型、浮点型和单精度浮点型。例如:

QString str = "123";
int num = str.toInt(); // num == 123

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/84887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

死锁问题及分析

最近写了一个hiredis的连接池,借鉴了HiRedis库封装,加了些日志,发现这个在ReleaseClient函数中构造shared_ptr时,没有指定delete。修改后在项目使用过程中发现执行一段时间后总是是卡死,使用的是boost库中的锁及其条件…

MES管理系统在生产中的应用及智能工厂的构建思路

在当今制造业中,随着信息化技术和智能化的不断发展,MES生产管理系统已成为工厂生产的核心组成部分。MES管理系统不仅能够提高生产效率,还可以优化生产流程,提升产品质量。本文将详细介绍MES管理系统在工厂生产中的应用以及构建智能…

VCS flow学习

VCS VCS 是IC从业者常用软件,该篇文章是一个学习记录,会记录在使用过程中各种概念及options。 VCS Flow VCS Flow 可以分为Two-step Flow和Three-step Flow两类。 两步法 两步法只支持Verilog HDL和SystemVerilog的design,两步法主要包括…

Windows AD 组策略 关闭自动更新

1、创建组策略 2、配置 计算机配置 → 策略 → 管理模板 → Windows 组件 → Windows 更新 (1)禁止 配置自动更新 (2)启用 "删除使用所有Windows更新功能的访问权限" 3、客户机 更新组策略

Webpack打包时Bable解决浏览器兼容问题

当我们使用js新特性语法编写代码时,在旧的浏览器中兼容性并不好。但是我们希望能够在旧浏览器中使用这些新特性。 使用babel可以使js新代码转换为js旧代码,增加浏览器的兼容性。 如果我们希望在Webpack中支持babel,则需要在Webpack中引入bab…

MySQL 学习笔记(基础)

首先解释数据库DataBase(DB):即存储数据的仓库,数据经过有组织的存储 数据库管理系统DataBase Management System(DBMS):管理数据库的软件 SQL(Structured Query Language&#xf…

Linux 文件权限基础:文件和目录权限管理指南

文章目录 Linux 文件权限基础1. 引言1.1 什么是文件权限1.2 文件权限的重要性 2. Linux 文件权限基础2.1 Linux 文件系统简介2.2 文件和目录的属性2.3 权限类型:读、写和执行2.4 所有者、组和其他用户2.5 权限符号表示法:r、w、x 和 -2.6 使用 ls -l 命令…

47个Docker常见故障的原因和解决方式

本文针对Docker容器部署、维护过程中,产生的问题和故障,做出有针对性的说明和解决方案,希望可以帮助到大家去快速定位和解决类似问题故障。 Docker是一种相对使用较简单的容器,我们可以通过以下几种方式获取信息: 1、…

2023华为杯E题:出血性脑卒中临床智能诊疗建模(不断更新)

文章目录 一、 背景介绍二、 数据集介绍及建模目标第一题:血肿扩张风险相关因素探索建模。第一问要求第一问解题思路第二问第二问解体思路 第二题:血肿周围水肿的发生及进展建模,并探索治疗干预和水肿进展的关联关系第一问第一问思路第二问第…

LeetCode 847. Shortest Path Visiting All Nodes【状态压缩,BFS;动态规划,最短路】2200

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

【Android知识笔记】进程通信(三)

在上一篇探索Binder通信原理时,提到了内存映射的概念,其核心是通过mmap函数,将一块 Linux 内核缓存区映射到一块物理内存(匿名文件),这块物理内存其实是作为Binder开辟的数据接收缓存区。这里有两个概念,需要理解清楚,那就是操作系统中的虚拟内存和物理内存,理解了这两…

零基础学前端(五)HTML+CSS实战:模仿百度网站首页

1. 该篇适用于从零基础学习前端的小白 2. 初学者不懂代码得含义也要坚持模仿逐行敲代码,以身体感悟带动头脑去理解新知识 一、实战:将百度网站首页补全 上一篇零基础学前端(三)重点讲解 HTML-CSDN博客我们已经将顶部两侧内容已经…

无聊的一篇博客(如何通过路由器登陆页对固定机器进行网速干扰,如何帮熊孩子戒网瘾)

1. 路由器登陆页面,按钮解析,获取按钮。 2. JavaScript与上传的脚本。 // 获取要点击的按钮A和按钮B元素var isRunning true; // 初始状态为false// 定义一个函数来模拟点击按钮A和按钮B function clickButtons() {if (isRunning) {// 随机生成一个延时…

03.Qt信号槽使用及其原理

一、QT信号槽概念原理讲解 信号槽 类似windows的消息机制信号函数,只发送不需要知道接收者槽函数(普通函数),只接收不管通信QObject来绑定 Qt信号槽原理 绑定信号函数和槽函数调用信号函数(将信号写入队列&#xf…

理解Nginx反向代理详解

什么是Nginx反向代理? Nginx是一个高性能的开源Web服务器,但它也可以用作反向代理服务器。反向代理是一种服务器配置,它允许Nginx接收客户端请求,然后将这些请求转发到后端服务器,最终将响应返回给客户端。这种配置对于…

CSS 模糊效果 CSS 黑白效果 CSS调整亮度 对比度 饱和度 模糊效果 黑白效果反转颜色

CSS 模糊效果 CSS 黑白效果 CSS调整亮度 饱和度 模糊效果 黑白效果 实现 调整亮度 饱和度 模糊效果 黑白效果 使用 filter1、模糊2、亮度3、对比度4、饱和度5、黑白效果6、反转颜色7、组合使用8、 filer 完整参数 实现 调整亮度 饱和度 模糊效果 黑白效果 使用 filter 1、模糊…

C语言每日一题(7):获得月份天数

文章主题:获得月份天数🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的个人主页🏄&…

学会这篇文章分享的知识,你就超过了90%的测试人

♥ 前 言 jmeter 可以做性能测试,这个很多人都知道,那你知道,jmeter 可以在启动运行时,指定线程数和运行时间,自定义性能场景吗? jmeter 性能测试,动态设定性能场景 平时,我们使…

【验证码逆向专栏】螺丝帽人机验证逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未…

工作应当有挑战

有挑战 才能有所成长 正所谓人到山前必有路 是挑战 一般就会有未知 未知往往伴随着困难 有困难 并不可怕,也不必自我抱怨,自我抱怨只会陷入无尽的精神内耗 我们只要做好自己 困难就会迎刃而解 如果自己的获得 没有达到自己的期望 其实那也不必气馁 再…