qt与java混合编程 java用qt |
您所在的位置:网站首页 › java和qt混编 › qt与java混合编程 java用qt |
一、介绍 遍历一个容器可以使用迭代器(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的有效的迭代器位置,用红色箭头表示: (1)QList正序和倒序遍历 下面是一个典型的例子,迭代器按顺序循环正序遍历QList的所有元素,并把它们打印到控制台上: QList list; list |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |