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
相关文章:
QT之QString的用法介绍
QT之QString的用法介绍 成员函数常见用法 成员函数 1)QString &append(const QString &str) 将 str 字符串追加到当前字符串末尾,并返回修改后的 QString 对象的引用。 2)QString &prepend(const QString &str) 将 str 字符…...
基于Java+SpringBoot+Vue3+Uniapp前后端分离考试学习一体机设计与实现2.0版本(视频讲解,已发布上线)
博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
springboot 获取参数
1.获取简单参数 2.实体对象参数...
【笔记】离线Ubuntu20.04+mysql 5.7.36 + xtrabackup定时增量备份脚本
一、环境 ● Ubuntu版本查看 lsb_release -a● mysql 版本查看 mysql --version我的是ubuntu 20.04,mysql是5.7.36,所以要用 install_percona-xtrabackup-24 二、原理 备份 通过ubuntu自带的定时器运行增量备份脚本备份文件可以存储在映射后的其他…...
树哈希与换根dp:CF763D
采用的树哈希函数是: d p x w x ∑ y ∈ x d p y 2 w x 2 \Large dp_xw_x\times \sum_{y\in x}dp_y^2w_x^2 dpxwxy∈x∑dpy2wx2 发现从 x x x 到 y y y 时只有 x x x 与 y y y 的哈希值会变化,分别维护即可 #include<bits/stdc.h&…...
npm、yarn、pnpm如何清除缓存?
前端工程化创建项目会经常使用各种安装包管理工具,安装各种前端依赖包。例如,npm、yarn、pnpm等。时间一长,各种安装包管理工具的在安装依赖时,留下的缓存文件就会变得很大,以至于影响系统的运行,因此必要时…...
12款最火的AI画图软件,助你探索创新设计
ChatGPT火爆出圈,AI画图软件也如雨后春笋般流行起来。各类AI画图的软件工具横空出世,设计师与其焦虑工作会不会被人工智能取代,不如践行“工欲善其事必先利其器”,开拓思路,打开格局,好好地探索下如何利用好…...
cookie信息无法获取问题研究
背景 在oneapi这个前后端都有的开源项目中,我想接入chatnextweb到oneapi的后端。 由于需要二开chatnextweb,添加登录注册功能,考虑到java后端的性能问题和内存占用,决定不重启写个服务,而是将登录注册接入到oneapi的…...
Linux:冯诺依曼系统和操作系统的概念
文章目录 冯诺依曼体系结构冯诺依曼体系的理解 操作系统操作系统的基本定位操作系统的理解1 操作系统的理解2总结 本篇主要总结的是操作系统的基本认知和一些概念 冯诺依曼体系结构 那么上图表示的就是冯诺依曼体系结构,那这个体系结构是什么?为什么要先…...
【操作系统笔记十一】进程间通信
Linux文件系统 inode 节点 (index node):给每个文件赋予一个称为 i 节点的数据结构。 inode 一开始是存储在硬盘中的,只有当文件被打开的时候,其对应的 i 节点才加载到内存中。 总结: Linux 中,…...
【操作系统】聊聊Linux软中断
什么是中断 中断是系统用来响应硬件设备请求的一种机制,会打断进程的正常调度和执行,转而去执行内核中的中断处理程序。 比如你正在看书,你女朋友叫你出去逛街。你就需要先放下手里的事情,然后逛街。回来之后,在接着看…...
公众号迁移个人可以迁移吗?
公众号账号迁移的作用是什么?只能变更主体吗?很多小伙伴想做公众号迁移,但是不知道公众号迁移有什么作用,今天跟大家具体讲解一下。首先公众号迁移最主要的就是修改公众号的主体了,比如我们公众号原来是A公司的&#x…...
全国职业技能大赛云计算--高职组赛题卷⑤(容器云)
全国职业技能大赛云计算--高职组赛题卷⑤(容器云) 第二场次题目:容器云平台部署与运维任务2 基于容器的web应用系统部署任务(15分)任务3 基于容器的持续集成部署任务(15分)任务4 Kubernetes容器…...
支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答
很多投资者都知道,Renko图表和普通日本烛台都会采用相同的交易信号,即支撑位和阻力位。那么支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答。 这些信号在任何时间框架上都会出现,且在蜡烛图交易中颇受欢迎。对于Renko图表而言…...
如何在32位MCU用printf()函数打印64位数据
1. 在32位MCU上定义64位变量: unsigned long long time_base; unsigned long long temp_time;2. 调用打印函数: printf("RFID:time_base:%d\r\n",time_base); printf("RFID:temp_time:%d\r\n",temp_time); printf("RFID:Ru…...
Python爬虫程序设置代理常见错误代码及解决方法
Python爬虫程序设置代理是爬虫程序中常用的技巧,可以有效地绕过IP限制,提高爬虫程序的稳定性和效率。然而,在设置代理时,常会出现各种错误代码,这些错误代码可能会影响程序的正常运行,甚至导致程序崩溃。本…...
3D点云目标检测:Centerformer训练waymo数据集
一、环境准备 项目地址:centerformer 1.0、基础环境 python 3.8.0 torch 1.9.1cu111 waymo-open-dataset-tf-2-6-0 1.4.9 spconv 1.2.1 其余按照requirement.txt里安装就行 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt由于我本人是在…...
火山引擎DataLeap推出两款大模型应用: 对话式检索与开发 打破代码语言屏障
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 自上世50年代,以“计算机”作为代表性象征的信息革命开始,社会对于先进生产力的认知便开始逐步更迭——从信息化(通常认为是把企…...
windows上配置vscode C/C++代码跳转
windows上配置vscode C/C代码跳转 安装插件 C/C 官方的 C/C 插件,必备的插件,是代码跳转、自动补全、代码大纲显示等功能的基础。 Gtags C/C GNU Global GNU Global除了安装该插件之外,还需要在本地下载安装GNU Global工具。多看下插件…...
【Xilinx】基于MPSoC的OpenAMP实现(一)
【Xilinx】基于MPSoC的OpenAMP实现(一) 一、开发环境1、开发思路2、下载官方bsp包 二、编译Linux1、配置petalinux环境变量2、创建工程3、进入目录4、设置缓存目录(重点:可离线编译,加快编译速度)5、配置u-…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
