qt与java混合编程 java用qt

您所在的位置:网站首页 java和qt混编 qt与java混合编程 java用qt

qt与java混合编程 java用qt

2024-05-08 17:51| 来源: 网络整理| 查看: 265

一、介绍

遍历一个容器可以使用迭代器(iterators)来完成,迭代器提供了一个统一的方法来访问容器中的项目。Qt的容器类提供了两种类型的迭代器:Java风格迭代器和STL风格迭代器。如果只是想按顺序遍历一个容器中的项目,那么还可以使用Qt的foreach关键字。

二、Java风格的迭代器

Java风格的迭代器在Qt4中加入,比STL风格的迭代器更易于使用,但是以轻微的效率作为代价,它们的API以Java的迭代器类为模型。

对于每个容器类,都有两种Java风格的迭代器类型:一种是只读,另一种是可读写。

容器

只读迭代器

可读写迭代器

QList, QQueue

QListIterator

QMutableListIterator

QLinkedList

QLinkedListIterator

QMutableLinkedListIterator

QVector, QStack

QVectorIterator

QMutableVectorIterator

QSet

QSetIterator

QMutableSetIterator

QMap, QMultiMap

QMapIterator

QMutableMapIterator

QHash, QMultiHash

QHashIterator

QMutableHashIterator

在这里,我们只关注QList和QMap。QLinkedList、QVector和QSet与QList的迭代器有同样的接口;QHash与QMap迭代器也有同样的接口。

与STL风格的迭代器不同,Java风格的迭代器指向项之间的位置,而不是直接指向项。由于这个原因,它们指向第一项之前,或者最后一项之后,或者两项之间。下面的图展示了包含4项的list的有效的迭代器位置,用红色箭头表示:

qt与java混合编程 java用qt_迭代器

2.1 QList示例

(1)QList正序和倒序遍历

下面是一个典型的例子,迭代器按顺序循环正序遍历QList的所有元素,并把它们打印到控制台上:

QList list; list


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3