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

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

采用的树哈希函数是&#xff1a; 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 dpx​wx​y∈x∑​dpy2​wx2​ 发现从 x x x 到 y y y 时只有 x x x 与 y y y 的哈希值会变化&#xff0c;分别维护即可 #include<bits/stdc.h&…...

npm、yarn、pnpm如何清除缓存?

前端工程化创建项目会经常使用各种安装包管理工具&#xff0c;安装各种前端依赖包。例如&#xff0c;npm、yarn、pnpm等。时间一长&#xff0c;各种安装包管理工具的在安装依赖时&#xff0c;留下的缓存文件就会变得很大&#xff0c;以至于影响系统的运行&#xff0c;因此必要时…...

12款最火的AI画图软件,助你探索创新设计

ChatGPT火爆出圈&#xff0c;AI画图软件也如雨后春笋般流行起来。各类AI画图的软件工具横空出世&#xff0c;设计师与其焦虑工作会不会被人工智能取代&#xff0c;不如践行“工欲善其事必先利其器”&#xff0c;开拓思路&#xff0c;打开格局&#xff0c;好好地探索下如何利用好…...

cookie信息无法获取问题研究

背景 在oneapi这个前后端都有的开源项目中&#xff0c;我想接入chatnextweb到oneapi的后端。 由于需要二开chatnextweb&#xff0c;添加登录注册功能&#xff0c;考虑到java后端的性能问题和内存占用&#xff0c;决定不重启写个服务&#xff0c;而是将登录注册接入到oneapi的…...

Linux:冯诺依曼系统和操作系统的概念

文章目录 冯诺依曼体系结构冯诺依曼体系的理解 操作系统操作系统的基本定位操作系统的理解1 操作系统的理解2总结 本篇主要总结的是操作系统的基本认知和一些概念 冯诺依曼体系结构 那么上图表示的就是冯诺依曼体系结构&#xff0c;那这个体系结构是什么&#xff1f;为什么要先…...

【操作系统笔记十一】进程间通信

Linux文件系统 inode 节点 &#xff08;index node&#xff09;&#xff1a;给每个文件赋予一个称为 i 节点的数据结构。 inode 一开始是存储在硬盘中的&#xff0c;只有当文件被打开的时候&#xff0c;其对应的 i 节点才加载到内存中。 总结&#xff1a; Linux 中&#xff0c…...

【操作系统】聊聊Linux软中断

什么是中断 中断是系统用来响应硬件设备请求的一种机制&#xff0c;会打断进程的正常调度和执行&#xff0c;转而去执行内核中的中断处理程序。 比如你正在看书&#xff0c;你女朋友叫你出去逛街。你就需要先放下手里的事情&#xff0c;然后逛街。回来之后&#xff0c;在接着看…...

公众号迁移个人可以迁移吗?

公众号账号迁移的作用是什么&#xff1f;只能变更主体吗&#xff1f;很多小伙伴想做公众号迁移&#xff0c;但是不知道公众号迁移有什么作用&#xff0c;今天跟大家具体讲解一下。首先公众号迁移最主要的就是修改公众号的主体了&#xff0c;比如我们公众号原来是A公司的&#x…...

全国职业技能大赛云计算--高职组赛题卷⑤(容器云)

全国职业技能大赛云计算--高职组赛题卷⑤&#xff08;容器云&#xff09; 第二场次题目&#xff1a;容器云平台部署与运维任务2 基于容器的web应用系统部署任务&#xff08;15分&#xff09;任务3 基于容器的持续集成部署任务&#xff08;15分&#xff09;任务4 Kubernetes容器…...

支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答

很多投资者都知道&#xff0c;Renko图表和普通日本烛台都会采用相同的交易信号&#xff0c;即支撑位和阻力位。那么支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答。 这些信号在任何时间框架上都会出现&#xff0c;且在蜡烛图交易中颇受欢迎。对于Renko图表而言…...

如何在32位MCU用printf()函数打印64位数据

1. 在32位MCU上定义64位变量&#xff1a; unsigned long long time_base; unsigned long long temp_time;2. 调用打印函数&#xff1a; printf("RFID:time_base:%d\r\n",time_base); printf("RFID:temp_time:%d\r\n",temp_time); printf("RFID:Ru…...

Python爬虫程序设置代理常见错误代码及解决方法

Python爬虫程序设置代理是爬虫程序中常用的技巧&#xff0c;可以有效地绕过IP限制&#xff0c;提高爬虫程序的稳定性和效率。然而&#xff0c;在设置代理时&#xff0c;常会出现各种错误代码&#xff0c;这些错误代码可能会影响程序的正常运行&#xff0c;甚至导致程序崩溃。本…...

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推出两款大模型应用: 对话式检索与开发 打破代码语言屏障

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 自上世50年代&#xff0c;以“计算机”作为代表性象征的信息革命开始&#xff0c;社会对于先进生产力的认知便开始逐步更迭——从信息化&#xff08;通常认为是把企…...

windows上配置vscode C/C++代码跳转

windows上配置vscode C/C代码跳转 安装插件 C/C 官方的 C/C 插件&#xff0c;必备的插件&#xff0c;是代码跳转、自动补全、代码大纲显示等功能的基础。 Gtags C/C GNU Global GNU Global除了安装该插件之外&#xff0c;还需要在本地下载安装GNU Global工具。多看下插件…...

【Xilinx】基于MPSoC的OpenAMP实现(一)

【Xilinx】基于MPSoC的OpenAMP实现&#xff08;一&#xff09; 一、开发环境1、开发思路2、下载官方bsp包 二、编译Linux1、配置petalinux环境变量2、创建工程3、进入目录4、设置缓存目录&#xff08;重点&#xff1a;可离线编译&#xff0c;加快编译速度&#xff09;5、配置u-…...

如何为多个并行项目设置Taotoken Token Plan以优化成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 如何为多个并行项目设置Taotoken Token Plan以优化成本 应用场景类&#xff0c;同时进行多个AI应用实验或开发的个人或团队&#x…...

2025_NIPS_TradeMaster: A Holistic Quantitative Trading Platform Empowered by Reinforcement Learning

TradeMaster 论文总结与核心内容翻译 一、文章主要内容 TradeMaster 是一款面向强化学习量化交易(RLFT)的全栈开源平台,旨在解决 RL 技术在实际金融市场部署中面临的工程实现难、基准对比难、易用性差三大核心挑战。文章围绕该平台展开全面阐述,核心内容包括: 1. 平台定…...

利用Taotoken模型广场为不同任务选择合适大模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用Taotoken模型广场为不同任务选择合适大模型 在实际开发工作中&#xff0c;我们常常面临多种任务需求&#xff1a;有时需要模型…...

ATmega328P烧录Bootloader报错?别急着换芯片,可能是签名搞的鬼(附avrdude.conf修改教程)

ATmega328P烧录Bootloader报错&#xff1f;别急着换芯片&#xff0c;可能是签名搞的鬼&#xff08;附avrdude.conf修改教程&#xff09; 当你兴致勃勃地准备给新买的ATmega328P芯片烧录Bootloader时&#xff0c;突然弹出一串红色报错信息&#xff0c;那种心情就像煮熟的鸭子飞走…...

收藏!AI时代,软件工程基本功才是你的核心竞争力

在AI coding时代&#xff0c;软件工程的基本功不仅没有过时&#xff0c;反而比以往任何时候都更加重要。AI是放大器&#xff0c;好的代码库能提升效率&#xff0c;而模糊混乱的代码库则会放大混乱。接口、边界、领域语言和测试等“老派”的基本功&#xff0c;是开发者手中杠杆率…...

爬虫进阶:如何用ProxyPool代理池+随机UA绕过掌上高考的反爬?保姆级避坑指南

数据采集实战&#xff1a;构建高隐蔽性教育信息采集系统的关键技术解析 教育数据采集领域近年来呈现出明显的技术对抗态势&#xff0c;平台方不断升级防御机制&#xff0c;而数据采集方则需要持续优化技术手段。本文将系统性地介绍构建高隐蔽性教育信息采集系统的完整技术方案&…...

函数依赖的核心概念解析[数据库原理]

函数依赖的定义与核心概念 函数依赖&#xff08;Functional Dependency&#xff0c;简称FD&#xff09;是关系数据库理论中用于描述属性间数据约束的核心概念。它定义了一个关系模式&#xff08;Relation Schema&#xff09;中&#xff0c;一个属性&#xff08;或属性组&#…...

解密网易云音乐NCM文件:3分钟掌握ncmdump核心技术与实战应用

解密网易云音乐NCM文件&#xff1a;3分钟掌握ncmdump核心技术与实战应用 【免费下载链接】ncmdump 转换网易云音乐 ncm 到 mp3 / flac. Convert Netease Cloud Music ncm files to mp3/flac files. 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdump ncmdump作为C实…...

告别VS Code!用CLion 2024.3 + CUDA 12.1搭建高效GPU开发环境(附CMake配置避坑指南)

CLion 2024.3 CUDA 12.1&#xff1a;打造专业级GPU开发环境的终极指南 在GPU加速计算领域&#xff0c;开发者长期面临一个两难选择&#xff1a;是使用功能全面但笨重的Visual Studio&#xff0c;还是选择轻量灵活但功能有限的VS Code&#xff1f;JetBrains CLion 2024.3的出现…...

AutoSar网络管理(NM)与0x28通信控制服务:搞懂主从节点,精准控制子总线流量

AutoSar网络管理中0x28服务的拓扑控制艺术&#xff1a;主从架构与子总线流量精准调度 在车载电子系统日益复杂的今天&#xff0c;一条CAN总线上可能挂着十几个ECU节点&#xff0c;而网关则需要管理多条这样的总线。想象一下&#xff0c;当某个子总线上的节点需要软件更新时&…...