QTreeWidget如何遍历所有QTreeWidgetItem?

麻烦的方法
1.获取顶层Item的个数
2.遍历顶层item,获取其孩子item的个数。

3.遍历孩子item 的孩子,以此类推。。。


简单的方法
其实,Qt提供了遍历树形控件的类:QTreeWidgetItemIterator类(迭代器)。
操作起来方便,怎一个爽字了得。
例:

image.png

除了遍历树形控件所有的Item外,还可以通过指定迭代器的类型遍历部分的item。类型如下表:

Constant

QTreeWidgetItemIterator::All

QTreeWidgetItemIterator::Hidden

QTreeWidgetItemIterator::NotHidden

QTreeWidgetItemIterator::Selected

QTreeWidgetItemIterator::Unselected

QTreeWidgetItemIterator::Selectable

QTreeWidgetItemIterator::NotSelectable

QTreeWidgetItemIterator::DragEnabled

QTreeWidgetItemIterator::DragDisabled

QTreeWidgetItemIterator::DropEnabled

QTreeWidgetItemIterator::DropDisabled

QTreeWidgetItemIterator::HasChildren

QTreeWidgetItemIterator::NoChildren

QTreeWidgetItemIterator::Checked

QTreeWidgetItemIterator::NotChecked

QTreeWidgetItemIterator::Enabled

QTreeWidgetItemIterator::Disabled

QTreeWidgetItemIterator::Editable

QTreeWidgetItemIterator::NotEditable

QTreeWidgetItemIterator::UserFlag


如:QTreeWidgetItemIterator::Selected可以遍历所有选中的item。


演示站
上一篇:调用QHeaderView的setSectionResizeMode不起作用。
下一篇:如何把QPushButton的图标放在右边?

发表评论