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

qt-C++笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别

qt-C++笔记之QStringList、QList、QString、QChar、QList区别

—— 杭州 2024-01-30 凌晨0:27


请添加图片描述

参考博文:qt-C++笔记之QStringList

code review!

文章目录

  • qt-C++笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别
    • 1.Qt的字符容器类
    • 1.QString和 QList<QChar>的区别
      • QString
      • QList<QChar>
    • 2.QStringList 和QList<QString>的区别
      • QStringList
      • QList<QString>

1.Qt的字符容器类

在这里插入图片描述

—— 《Qt程序设计基础 基于银河麒麟桌面操作系统》

1.QString和 QList的区别

QStringQList<QChar> 是 Qt 中的两个不同的类,它们代表了不同的概念和用途:

QString

  • QString 是一个高级的字符串处理类,专门用于处理和表示文本。
  • 它内部使用 Unicode 编码,因此可以容易地处理国际化文本。
  • QString 提供了大量的字符串相关操作,如拼接、分割、搜索、替换、编解码等。
  • 它是隐式共享的,这意味着当你拷贝一个 QString 对象时,实际上并不会立即复制数据,只有在需要修改时才会进行复制(写时复制)。
  • QString 对象是连续存储的,提供了快速的索引访问和高效的内存使用。

QList

  • QList<QChar> 是一个容器类,用于存储 QChar 对象的列表。
  • QList 是一个模板类,可以用来存储任何类型的元素,QList<QChar> 特指存储 QChar 的列表。
  • QString 不同,QList<QChar> 不提供专门的字符串处理功能,它只是一个通用的列表容器。
  • QList<QChar> 中,字符是单独存储的,每个 QChar 是列表中的一个元素。
  • 使用 QList<QChar> 来处理字符串是低效的,因为它不是为字符串操作优化的,且没有 QString 提供的便捷操作。

总的来说,如果你需要处理文本数据,QString 是更合适的选择,因为它为此提供了大量的方法。而 QList<QChar> 通常用于特定情况,比如当你需要存储字符的集合,并且不需要字符串操作功能时。大多数情况下,推荐使用 QString 来处理和存储文本数据,因为它的设计目的就是简化和优化这些任务。

2.QStringList 和QList的区别

QStringListQList<QString> 都是 Qt 框架中用于处理字符串列表的类,但它们之间有一些细微的区别:

QStringList

  • QStringListQList<QString> 的一个子类,专门用于处理字符串列表。
  • 它提供了一些特定于字符串处理的额外便利方法,如对字符串列表进行排序、过滤、查找等操作。
  • QStringList 可以直接与 Qt 的其他部分(如 GUI 控件)交互,它有一些特化的方法使得和这些组件的集成更加方便。
  • 例如,QStringList 有一个方便的 join() 方法,用于将列表中的所有字符串连接成一个单独的 QString,以及 filter() 方法,用于根据指定条件过滤字符串列表。

QList

  • QList<QString> 是一个通用容器,可以存储任何类型的元素,在这种情况下,它被用于存储 QString 对象。
  • 它没有 QStringList 提供的特化字符串处理方法。
  • 当你不需要 QStringList 提供的特殊字符串处理功能时,可以使用 QList<QString>

在实际应用中,当你的工作仅涉及到字符串集合,并且需要进行字符串特有的操作时,使用 QStringList 是更方便的。如果你正在处理一个更通用的对象集合(即使它恰好是字符串),或者你不需要 QStringList 提供的专门功能,那么使用 QList<QString> 就足够了。在 Qt5 中,QStringList 是非常常见的,但在 Qt6 中,QStringList 已经不是 QList<QString> 的子类了,而是类型别名 QList<QString>。所以,这个区别在 Qt6 中不再适用。

相关文章:

qt-C++笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别

qt-C笔记之QStringList、QList、QString、QChar、QList区别 —— 杭州 2024-01-30 凌晨0:27 参考博文&#xff1a;qt-C笔记之QStringList code review! 文章目录 qt-C笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别1.Qt的字符容器类1.QSt…...

python爬虫学习之解析_BeautifulSoup

目录 一、bs4的基本使用 &#xff08;1&#xff09;导入 &#xff08;2&#xff09;创建对象 二、节点定位 1、根据标签名查找节点 2、基本函数使用 &#xff08;1&#xff09;find &#xff08;2&#xff09;find_all &#xff08;3&#xff09;select 三、节点信息 1、获取节…...

2024美赛数学建模赛题解读常用模型算法

回归拟合预测 拟合预测是建立一个模型去逼近实际数据序列的过程&#xff0c;适用于发展性的体系。建立模型时&#xff0c;通常都要指定一个有明确意义的时间原点和时间单位。而且&#xff0c;当t趋向于无穷大时&#xff0c;模型应当仍然有意义。将拟合预测单独作为一类体系研究…...

NoSQL 数据库管理系统和模型的比较

前些天发现了一个人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;最重要的屌图甚多&#xff0c;忍不住分享一下给大家。点击跳转到网站。 NoSQL 数据库管理系统和模型的比较 介绍 当大多数人想到数据库时&#xff0c;他们通常会想到传统的关系数据库…...

数据库(SQL)

目录 1 触发器 1.1 触发器简介 1.2 触发器的创建 语法 说明 1.3 示例 2 存储过程 2.1 什么是存储过程&#xff08;函数&#xff09; 2.1.1 存储过程和存储函数的区别 2.2 优势 2.3 应用场景 2.4 存储过程的创建和使用 说明 各参数类型所实现的存储过程 无参数无返…...

如何用Docker+jenkins 运行 python 自动化?

1.在 Linux 服务器安装 docker 2.创建 jenkins 容器 3.根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境) 4.运行新的 python 容器&#xff0c;执行 jenkins 从仓库中拉下来的自动化项目 5.执行完成之后删除容器 前言 环境准备 Linux 服务器一台(我的是 CentOS7)…...

uniapp瀑布流实现

1. 图片瀑布流&#xff1a; 不依赖任何插件&#xff0c;复制即可见效&#xff1a; <template><view class"page"><view class"left" ref"left"><image class"image" v-for"(item,i) in leftList" :k…...

鸿蒙:@Link装饰器-父子双向同步

子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。从API version 9开始&#xff0c;该装饰器支持在ArkTS卡片中使用。 需要注意&#xff1a;Link装饰的变量与其父组件中的数据源共享相同的值。Link装饰器不能在Entry装饰的自定义组件中使用。 一、装饰器使…...

Leetcode--27

给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…...

使用Eclipse搞Android项目报错

相信现在都没什么人还会用Eclipse来开发的了。 不过安装完后&#xff0c;打开Eclipse会提示我的Jdk版本不符合 --------------------------- Incompatible JVM --------------------------- Version 1.8.0_391 of the JVM is not suitable for this product. Version: 17 or g…...

import sys是什么

import sys语句 允许你使用sys模块提供的各种功能&#xff0c;从而更好地与Python解释器和操作系统底层进行交互。通过熟练掌握sys模块的使用&#xff0c;可以大大提高Python开发的效率和灵活性。 sys模块 是Python的内置模块之一&#xff0c;用于与Python解释器和系统环境交…...

Python爬虫:XPath基本语法

XPath&#xff08;XML Path Language&#xff09;是一种用于在XML文档中定位元素的语言。它使用路径表达式来选择节点或节点集&#xff0c;类似于文件系统中的路径表达式。 不啰嗦&#xff0c;讲究使用&#xff0c;直接上案例。 导入 pip3 install lxmlfrom lxml import etr…...

UML/SysML建模工具更新情况(截至2024年1月)(1)UModel 2024

最近一段时间更新的工具有&#xff1a; 工具最新版本&#xff1a;Umple 1.33.0 更新时间&#xff1a;2024年1月10日 工具简介 自称“Model-Oriented Programming”&#xff0c;把图形和文本结合起来&#xff0c;支持Java、PHP和Ruby代码生成&#xff0c;可以在线使用&#xf…...

ubuntu20-github不通问题

github不通 一直在github下载失败 Git报错fatal unable to connect to github.com: github.com[0: 20.205.243.166] >>> alsa-ucm-conf v1.2.6.3 Downloading(卡在这里,很烦啊) 然后搜了很多文档,然后以下操作: 1.GitHub.com - GitHub: Lets build from here Git…...

【MAC】Multi-Level Monte Carlo Actor-Critic阅读笔记

基本思想&#xff1a; 利用多层次蒙特卡洛方法&#xff08;Multi-Level Monte Carlo&#xff0c;MLMC&#xff09;和Actor-Critic算法&#xff0c;解决平均奖励强化学习中的快速混合问题。 快速混合&#xff1f; 在强化学习中&#xff0c;当我们说一个策略"混合得快"…...

[GN] 设计模式—— 创建型模式

文章目录 创建型模式单例模式 -- 确保对象唯一性例子优化饿汉式懒汉式 优缺点使用场景 简单工厂模式例子&#xff1a;优化优缺点适用场景 工厂方法模式 -- 多态工厂的实现例子优缺点优化适用场景 抽象工厂模式 -- 产品族的创建例子优缺点适用场景 总结 创建型模式 单例模式 –…...

链表——超详细

一、无头单向非循环链表 1.结构&#xff08;两个部分&#xff09;&#xff1a; typedef int SLTDataType; typedef struct SListNode {SLTDataType data;//数据域struct SListNode* next;//指针域 }SLNode; 它只有一个数字域和一个指针域&#xff0c;里面数据域就是所存放的…...

【刷题】 leetcode 面试题 08.05.递归乘法

递归乘法 1 题目描述2 思路一&#xff08;返璞归真版&#xff09;3 思路二&#xff08;二进制乘法器版&#xff09;4 思路三&#xff08;变态版&#xff09;Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读下一篇文章见&#xff01;&#xff01;&#xff01; 1 题目…...

C语言实现希尔排序算法(附带源代码)

希尔排序 希尔排序&#xff0c;也称递减增量排序算法&#xff0c;是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的&#xff1a; 插入排序在对几乎已经排好序的数据操作时&#xff0c;效率高&#xff0…...

R语言【taxlist】——subset():取taxlist对象的子集

Package taxlist version 0.2.4 Description taxlist对象的子集将通过逻辑操作或模式匹配来完成。子集可以引用包含在插槽taxonNames、taxonRelations或taxonTraits中的信息。 Usage ## S4 method for signature taxlist subset(x,subset,slot "names",keep_child…...

StructBERT中文句子匹配效果展示:客服问题精准召回、论文查重阈值调优案例

StructBERT中文句子匹配效果展示&#xff1a;客服问题精准召回、论文查重阈值调优案例 1. 引言&#xff1a;为什么需要精准的句子匹配&#xff1f; 在日常工作和生活中&#xff0c;我们经常遇到这样的场景&#xff1a; 客服系统中&#xff0c;用户问"怎么修改登录密码&…...

BRV自定义扩展开发:从零构建专属列表组件的终极教程

BRV自定义扩展开发&#xff1a;从零构建专属列表组件的终极教程 【免费下载链接】BRV [永久维护] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大 项目地址: https://gitcode.com/gh_mirrors/br/BRV 想要在Android开发中快速构建功能强大的RecyclerView列表吗&…...

Hunyuan-MT1.5-1.8B社区生态:HF模型复刻建议

Hunyuan-MT1.5-1.8B社区生态&#xff1a;HF模型复刻建议 最近在Hugging Face上开源了一个挺有意思的翻译模型——HY-MT1.5-1.8B。你可能听说过那些动辄几十亿、上百亿参数的大模型&#xff0c;但这个只有18亿参数的小家伙&#xff0c;在翻译任务上的表现却让人眼前一亮。 它最…...

1990-2025年企业基金退出事件数据

数据介绍 企业投资机构通过公开招募&#xff0c;并购&#xff0c;同行转售等退出方式转让基金份额、底层项目股权、IPO、回购、清算等方式&#xff0c;从所投基金或项目中收回资金、实现收益或止损离场的完整交易与流程。 数据整理1990至2025年企业基金退出事件数据&#xff…...

图神经网络聚类:从范式演进到实战应用全景解析

1. 图神经网络聚类&#xff1a;为什么它正在改变数据科学游戏规则 想象一下你面前有一张巨大的社交网络关系图&#xff0c;每个节点代表一个用户&#xff0c;连线代表好友关系。传统聚类算法可能只能根据连接密度划分社群&#xff0c;但如果同时考虑用户的年龄、兴趣、地理位置…...

AutoGen Studio实战体验:基于Qwen3-4B模型打造智能问答助手

AutoGen Studio实战体验&#xff1a;基于Qwen3-4B模型打造智能问答助手 1. AutoGen Studio简介 AutoGen Studio是一个低代码界面&#xff0c;旨在帮助开发者快速构建AI代理、通过工具增强它们、将它们组合成团队并与之交互以完成任务。它基于AutoGen AgentChat构建——一个用…...

Pixel Epic · Wisdom Terminal 虚拟化环境部署:在VMware虚拟机中搭建AI开发沙箱

Pixel Epic Wisdom Terminal 虚拟化环境部署&#xff1a;在VMware虚拟机中搭建AI开发沙箱 1. 前言&#xff1a;为什么选择虚拟化环境进行AI开发 在AI开发过程中&#xff0c;环境隔离和资源管理是两个常见痛点。很多开发者都遇到过这样的情况&#xff1a;不同项目需要不同版本…...

OpenClaw对话式编程:千问3.5-27B生成Python脚本并自动执行

OpenClaw对话式编程&#xff1a;千问3.5-27B生成Python脚本并自动执行 1. 为什么选择OpenClaw做对话式编程&#xff1f; 去年冬天的一个深夜&#xff0c;我盯着屏幕上的Python脚本发呆——这个需要每小时抓取一次数据的自动化任务&#xff0c;已经因为API变更第三次报错了。手…...

AI与数据库智能交互:Qwen3-0.6B-FP8实现自然语言转SQL查询

AI与数据库智能交互&#xff1a;Qwen3-0.6B-FP8实现自然语言转SQL查询 你有没有过这样的经历&#xff1f;面对公司后台密密麻麻的数据表&#xff0c;想查点东西&#xff0c;却不知道该怎么写SQL语句。或者&#xff0c;你是个业务人员&#xff0c;每次想分析数据都得找技术同事…...

LFM2.5-1.2B-Thinking-GGUF惊艳效果:32K上下文下长文档关键信息抽取准确率实测

LFM2.5-1.2B-Thinking-GGUF惊艳效果&#xff1a;32K上下文下长文档关键信息抽取准确率实测 1. 模型效果实测背景 LFM2.5-1.2B-Thinking-GGUF作为Liquid AI推出的轻量级文本生成模型&#xff0c;在低资源环境下展现出令人惊喜的性能表现。本次测试聚焦于模型在32K超长上下文环…...