QT QMapIterator

2022-09-02 10:20:03 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

QT的迭代器有两种类型:STL形式和JAVA形式。

QT的STL形式的迭代器,和STL的迭代器用法类似,而JAVA形式的迭代器,则提供了一套迭代器类,用于QT容器的迭代。

这其中,就有QT的迭代器类QMapIterator。

QMapIterator的公共函数如下:

QMapIterator(const QMap<Key, T> & map)

bool

findNext(const T & value)

bool

findPrevious(const T & value)

bool

hasNext() const

bool

hasPrevious() const

const Key &

key() const

Item

next()

Item

peekNext() const

Item

peekPrevious() const

Item

previous()

void

toBack()

void

toFront()

const T &

value() const

QMapIterator &

operator=(const QMap<Key, T> & map)

QMapIterator中,每次迭代器并不指向元素,而是指向两个元素之间。

QMapIterator的样例如下所示:

QMap<int, QWidget *> map; … QMapIterator<int, QWidget *> i(map); while (i.hasNext()) { i.next(); qDebug() << i.key() << “: ” << i.value(); }

注意的是:必须先调用next()方法,才能指向下一个下一个值,这和我们理解的语法有区别。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139307.html原文链接:https://javaforall.cn

0 人点赞