当前位置: 首页 > 网络知识

Qt QList使用总结

时间:2026-01-29 09:26:42

概述
QList是Qt的泛型容器类之一。它将项目存储在一个列表中,该列表提供基于索引的快速访问以及基于索引的插入和删除。
QList、QLinkedList 和 QVector 提供了类似的 API 和功能。它们通常是可互换的,但性能有所区别。

QVector 应该是默认首选的容器
QList是最广泛用于Qt API中传递值的容器
QList不是指针结构体类型的链表,真正的结构体指针链表是 QLinkedList
一、QList 声明及初始化
QList可以保存基本数据类型的,如int,double,bool等;但是在存储QObject对象及其子类对象时,不能直接存对象本身,而是只能存对象的地址;

1. 声明 QList
声明简单:

1 //基本数据类型 2 QList<int> integerList; 3 QList<QDate> dateList; 4 5 //存储QObject对象的地址 6 QList <QWidget *> ptr_widgets; 7 QList <QObject *> ptr_objects;

2. 初始化 QList

初始化也很简单;若没初始化,链表默认为空的。

1 QList<QString> list = ; 2 3 QWidget * widget1 = new QWidget(); 4 QWidget * widget2 = new QWidget(); 5 QList<QWidget *> ptr_widgets = ;

二、QList 基本的 增加、删除、移动、修改
QList 在有些实现都是需要多个基本操作组合来实现的,不同的实现用的方法也不一致,Qt提供的都是最核心、最单一的功能。

1. 增加节点

2. 删除节点

3. 移动节点

4. 修改节点值

三、QList 定位节点
QList是有序的链表,可以通过索引来得到

Qt 推荐使用at()函数,这样的效率更好,因为 at()函数不会发生 深拷贝 ,而另外一种方式会。

QList还提供了一些快捷的 索引 + 返回索引节点 + 删除原索引节点,也就是组合的功能;但是这个是 take…不是get…这样的,这就意味着,这个其实是✂剪掉一个节点,并返回

四、QList 的基本信息

等等。。。常用功能

但是有些功能就需要组合一下就行
其他功能还需要看帮助文档

五、QList 迭代器功能
有两种迭代器的风格

区别确实有,但是不大;
官方说的性能来看:STL风格的更强大;毕竟能融入算法模块;
但Java的风格更加人性化,更容易使用些,性能也不差,平常代码完全能胜任了。



上一篇:Qt 部署openvino时报错:too few arguments provided to function......
下一篇:Qt QModbus相关类实现ModbusTcpServer总结
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素