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

C++ Qt QString类用法介绍

QString 是 Qt 框架中的一个重要类,用于处理 Unicode 字符串。它提供了大量的功能,方便开发者处理、查询和操作字符串。以下是 QString 的一些常用功能和示例:

  1. 构造和初始化
QString s1; // 默认构造函数,创建一个空字符串
QString s2("Hello Qt!"); // 从 const char* 构造
QString s3(QLatin1String("Hello Qt!")); // 从 QLatin1String 构造
QString s4(QString::fromUtf8("你好 Qt!")); // 从 UTF-8 编码的字节数组构造
  1. 字符串长度和是否为空
int length = s2.length(); // 返回字符串的长度
bool isEmpty = s1.isEmpty(); // 检查字符串是否为空
  1. 添加和拼接字符串
QString s5 = s2 + " How are you?"; // 使用 + 进行拼接
s5.append(" Good to see you."); // 使用 append() 方法追加字符串
  1. 访问和修改字符
QChar ch = s5.at(0); // 获取第一个字符
s5[0] = QChar('h'); // 修改第一个字符
  1. 字符串查找和替换
int pos = s5.indexOf("Qt"); // 查找 "Qt" 的位置
s5.replace("Qt", "QT"); // 将所有的 "Qt" 替换为 "QT"
  1. 字符串的转换
s5 = s5.toUpper(); // 转换为大写
s5 = s5.toLower(); // 转换为小写
  1. 与数值之间的转换
int num = 123;
QString s6 = QString::number(num); // 数值转字符串
int extractedNum = s6.toInt(); // 字符串转整数
  1. 使用 arg() 进行格式化
QString s7 = QString("There are %1 apples and %2 oranges").arg(3).arg(5);
  1. 分割字符串
QStringList list = s5.split(' '); // 使用空格进行分割

以上只是 QString 的冰山一角,其功能非常丰富。建议查看 Qt 官方文档以获取更多详细的方法和描述。

  1. 裁剪与截取
    Qt中的QString类提供了多种方法来进行字符串的裁剪和截取操作。以下是一些常见的方法:

(1). left(int n):返回字符串的前n个字符。

QString original = "Hello, World!";
QString result = original.left(5); // 结果是 "Hello"

(2). right(int n):返回字符串的后n个字符。

QString original = "Hello, World!";
QString result = original.right(6); // 结果是 "World!"

(3). mid(int position, int n):返回从指定位置开始的n个字符。

QString original = "Hello, World!";
QString result = original.mid(7, 5); // 结果是 "World"

(4). section(const QString &separator, int start, int end):根据指定的分隔符,截取字符串的一部分。

QString original = "apple,banana,cherry";
QString result = original.section(',', 1, 1); // 结果是 "banana"

(5). trimmed():去除字符串开头和结尾的空格字符。

QString original = "   Hello, World!   ";
QString result = original.trimmed(); // 结果是 "Hello, World!"

(6). simplified():去除字符串中多余的空格字符,并将连续的空格字符替换为一个空格。

QString original = "Hello     World!";
QString result = original.simplified(); // 结果是 "Hello World!"

这些是QString类中用于裁剪和截取字符串的一些常用方法。您可以根据需要选择适合您的情况的方法。

相关文章:

C++ Qt QString类用法介绍

QString 是 Qt 框架中的一个重要类,用于处理 Unicode 字符串。它提供了大量的功能,方便开发者处理、查询和操作字符串。以下是 QString 的一些常用功能和示例: 构造和初始化 QString s1; // 默认构造函数,创建一个空字符串 QStr…...

亚马逊测评关于IP和DNS的问题

最近不少人询问了关于IP和DNS的问题,在此进行一些科普。 当客户端试图访问一个网站时,首先会向其所在的ISP的DNS服务器进行查询。如果ISP的DNS服务器没有相关缓存,则会向上级DNS服务器进行查询。 一些诸如CDN之类的服务,可能会为…...

新增Node.js运行环境、新增系统缓存清理功能,1Panel开源面板v1.7.0发布

2023年10月16日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.7.0版本。 在这个版本中,1Panel新增Node.js运行环境;新增系统缓存清理功能;应用安装时支持选择远程数据库。此外,我们进行了40多项功能更新和…...

【SA8295P 源码分析 (一)】60 - QNX Host 如何新增 android_test 分区给 Android GVM 挂载使用

【SA8295P 源码分析】60 - QNX Host 如何新增 android_test 分区给 Android GVM 挂载使用 一、QNX 侧:创建分区、配置下载、配置透传1.1 修改分区表,新增 android_test 分区,大小为 2GByte1.2 下载 android_test.img 镜像1.3 配置 /dev/disk/android_test_a 分区透传到 Andr…...

天津滨海新区城市轨道交通电能管理系统方案与实施方案

【摘要】:介绍天津滨海新区轨道交通项目建设电能管理系统的系统架构、功能组成和实施方案。在借鉴其他城市轨道交通项目电能管理系统的基础上,结合天津滨海新区轨道交通建设的具体情况,对系统组网方案、测量表计设置原则、与通风空调节能系统和照明节能系…...

torch.cat 使用小节

torch.cat 使用小节 torch.cat 要求在所指定拼接维度之外的所有维度都要匹配,例如 import torch v1 torch.tensor([[1, 2, 3], [4, 5, 6], [4, 5, 6]]) # 3*3 v2 torch.tensor([[3, 6, 8]]) # 1*3 torch.cat([v1, v2], dim1)运行之后会报错 Sizes of tensors…...

Java:SpringBoot整合Spring Batch示例

目录 文档基础概念Tasklet方式示例Chunk方式示例参考文章 文档 https://docs.spring.io/spring-batch/docs/4.3.9/reference/html/index.html 基础概念 JobLauncher:作业启动器,启动作业的入口。对应的实现类为SimpleJobLauncher。Job:作业…...

Windows + Msys 下编译 TensorFlow 2.14

安装基本工具 pacman -S --needed zip unzip patch diffutils git 下载安装 Windows 版本 bazel 6.1.2,复制到 C:/Windows/system32 目录下,改名为 bazel.exe wget https://github.com/bazelbuild/bazel/releases/download/6.1.2/bazel-6.1.2-window…...

百度发布全新 AI 互动式搜索:百度简单搜索

本心、输入输出、结果 文章目录 百度发布全新 AI 互动式搜索:百度简单搜索前言主要能力 相关资料能力介绍 百度搜索升级发文告用户如何获取百度简单搜索百度简单搜索的定位百度简单搜索在 APP 上面的体验讨论和点评我们关注的几个问题 弘扬爱国精神 百度发布全新 AI…...

VUE开发记录

记录vue开发中遇到的问题 - 2023/10/16 问题:项目element-ui表单中,input点击需要打开弹框,弹框选择值后回填到input,但是此时elementUI的校验出错(值存在却校验为空) 解决方法: this.employee…...

2023年中国乳胶制品产量、需求量及市场规模分析[图]

乳胶泛指聚合物微粒分散于水中形成的胶体乳液,又称胶乳。习惯上将橡胶微粒的水分散体称为胶乳,而将树脂微粒的水分散体称为乳液。以乳胶为原料制成的制品称乳胶制品,常见的如海绵、手套、玩具、胶管等。 我国乳胶制品细分主要分为避孕套、乳胶…...

手撕Vue-数据驱动界面改变上

经过上一篇的介绍,已经实现了监听数据的变化,接下来就是要实现数据变化后,界面也跟着变化,这就是数据驱动界面改变。 想要实现数据变化之后更新UI界面,我们可以使用发布订阅模式来实现,先定义一个观察者类,…...

for循环中循环一次提交一次 insert update 关闭事务 spring springboot mybatis

省流: 在方法上直接加如下注解: Transactional(propagation Propagation.NOT_SUPPORTED) public void t1(){//业务代码 } 正文: 在测试的时候,有时候会希望在for循环中,代码循环一次就提交一次事务。 方法一&#…...

VS2010 C语言内嵌汇编语言程序

VS2010 C语言内嵌汇编语言程序 2021年7月28日席锦 在visual studio 2010中C语言使用内联汇编写代码 ,它的格式有两种, 一种是__asm 直接接汇编指令语句,比如:__asm int 3 // 软件中断 另一种是加上花括号,类似于一个函数&…...

【TES720D】青翼科技基于复旦微的FMQL20S400全国产化ARM核心模块

板卡概述 TES720D是一款基于上海复旦微电子FMQL20S400的全国产化核心模块。该核心模块将复旦微的FMQL20S400(兼容FMQL10S400)的最小系统集成在了一个50*70mm的核心板上,可以作为一个核心模块,进行功能性扩展,特别是用…...

css 左右滚轮无缝衔接

最近的项目有做到一个功能 类似跑马灯或者公告栏那种 有文字 也有列表的 所以 写了两种 第一种公告栏文字是用的js 第二种图文类型是用的css 两种方法 记录一下 第一种 纯文字滚动 其实也是根据js去计算dom的宽度 通过js去给css赋值 <div class"div1"><div …...

Hadoop分布式文件系统-HDFS

1.介绍 HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。 2.HDFS 设计原理 2.1 HDFS 架构 HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:...

专业图表绘制软件 OmniGraffle Pro mac v7.22.1中文版软件介绍

OmniGraffle Pro mac是一款Mac平台上的专业绘图软件&#xff0c;主要用于创建各种图形&#xff0c;包括流程图、组织结构图、网络拓扑图、UI原型等。该软件提供了强大的绘图工具和丰富的样式库&#xff0c;可以让用户快速创建出高质量的图形&#xff0c;并支持导入和导出各种常…...

Git 本地文件合并和恢复

前记&#xff1a; git svn sourcetree gitee github gitlab gitblit gitbucket gitolite gogs 版本控制 | 仓库管理 ---- 系列工程笔记. Platform&#xff1a;Windows 10 Git version&#xff1a;git version 2.32.0.windows.1 Function&#xff1a; Git 本地文件合并和恢复…...

记录git仓库pr没有显示贡献者的问题,以及如何提交一个pr(简)

git config --global --list # 查看全局配置&#xff08;适用于所有仓库&#xff09;的信息&#xff0c;可以添加 --global 标志git config --list # 查看你的Git配置git config user.name # 显示您的Git用户名。同样&#xff0c;可以替换 user.name 为其他配置项名称来查看特定…...

轻松实现颜色与数字的映射:Python 数据处理实战

在数据分析与日常数据处理中&#xff0c;我们经常需要将文本信息转换为数值型数据&#xff0c;尤其在颜色编码、分类标签等场景中尤为常见。 今天&#xff0c;我将分享一个简单实用的 Python 示例&#xff0c;演示如何利用 pandas 库将颜色名称映射为对应的数字&#xff0c;并将…...

小红书内容管理困境与XHS-Downloader的优雅解决方案

小红书内容管理困境与XHS-Downloader的优雅解决方案 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接&#xff1b;采集小…...

Java 进化之路:从 Java 8 到 Java 21 的重要新特性

Java 进化之路&#xff1a;从 Java 8 到 Java 21 的重要新特性 文章目录 前言&#xff08;必看&#xff01;&#xff01;&#xff01;&#xff09;一、Java 8&#xff1a;划时代的革命 1. Lambda 表达式&#xff08;史诗级更新&#xff09;2. Stream API&#xff08;数据操作新…...

Windows Server TLS安全加固:注册表三步禁用Sweet32漏洞

1. 这不是“打补丁”&#xff0c;而是给Windows Server的SSL/TLS协议栈做一次外科手术你有没有遇到过这样的情况&#xff1a;安全扫描工具突然报出一堆红色高危漏洞&#xff0c;CVE-2016-2183&#xff08;Sweet32&#xff09;、CVE-2015-2808&#xff08;Logjam&#xff09;、C…...

服务器CPU架构对决:Chiplet与Monolithic技术解析与选型指南

1. 市场格局的悄然变迁&#xff1a;从“牙膏厂”到“撕裂者”的冲击如果你最近几年一直在关注数据中心和服务器市场&#xff0c;一个非常明显的趋势是&#xff0c;曾经由英特尔至强处理器几乎垄断的“铁王座”&#xff0c;正在被AMD的EPYC&#xff08;霄龙&#xff09;处理器一…...

从零玩转 Linux:网络配置、软件安装及 Docker 实战

下载镜像地址 一、基础命令篇 显示网络状态工具 netstat -nltup #显示当前服务以及端口信息等 查看某个端口是否开启 1.2.1、使用 netstat 命令 sudo netstat -tuln | grep 80 1.2.2、使用 ss 命令 sudo ss -tuln | grep 80 1.2.3、使用 lsof 命令 sudo lsof -i :80 1.2.4、使用…...

U8 ERP接口二次封装实战:用Net4.8+WebAPI打造比OpenAPI更香的内网集成方案

U8 ERP接口二次封装实战&#xff1a;用Net4.8WebAPI打造比OpenAPI更香的内网集成方案 在传统制造业数字化转型浪潮中&#xff0c;ERP系统作为企业核心数据枢纽&#xff0c;其接口能力直接决定了IT生态的扩展性。用友U8作为国内主流ERP解决方案&#xff0c;虽然提供了EAI、原生A…...

2026年精选AI写作辅助网站合集(实测甄选版)

为解决学术写作中效率与合规两大核心痛点&#xff0c;以下精选8款高适配性 AI 论文写作工具&#xff08;按综合优先级排序&#xff09;&#xff0c;围绕中文学术规范适配、真实参考文献生成、格式标准化、高性价比四大核心维度筛选&#xff0c;同时配套分场景精准选型方案与学术…...

CANN/asc-devkit向量取反API

asc_neg 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca…...

注意力机制:多头注意力机制、分组查询注意力机制、多查询注意力机制理论+代码

文章目录导语1.注意力机制2.多头注意力机制3.多查询注意力机制4.分组查询注意力机制5.三者对比导语 注意力机制作为transformer体系中最核心的方法&#xff0c;是NLP、LLM等都绕不开的一部分&#xff0c;多头注意力机制是transformer模型提出的“基石”&#xff0c;分组查询注…...