Qt模型视图框架:QTreeWidgetItem、QTreeWidgetItemIterator

QTreeWidgetItem

一、描述

QTreeWidgetItem 类提供了一个与 QTreeWidget 类一起使用的项目。例:

     QTreeWidgetItem *cities = new QTreeWidgetItem(treeWidget);
     cities->setText(0, tr("Cities"));
     QTreeWidgetItem *osloItem = new QTreeWidgetItem(cities);
     osloItem->setText(0, tr("Oslo"));
     osloItem->setText(1, tr("Yes"));

二、类型成员

1、enum QTreeWidgetItem::ChildIndicatorPolicy

  • ShowIndicator:即使没有子项,也会为此项显示展开和折叠的控件。
  • DontShowIndicator:即使有子项也永远不会显示展开和折叠的控件。 
  • DontShowIndicatorWhenChildless:如果项目包含子项,将显示用于展开和折叠的控件。

2、enum QTreeWidgetItem::ItemType:此枚举描述了用于描述树小部件项的类型。

  • Type:树小部件项目的默认类型。
  • UserType:自定义类型的最小值。低于 UserType 的值由 Qt 保留。

可以在 QTreeWidgetItem 子类中定义新的用户类型。

三、重要成员函数

1、void addChild(QTreeWidgetItem *child)

      void addChildren(const QList<QTreeWidgetItem *> &children)

添加子项。

2、QTreeWidgetItem * child(int index)

返回项的子项列表中index处的项。

3、int childCount()

子项数目。

4、QTreeWidgetItem * clone()

创建项目及其子项的深拷贝。

5、int columnCount()

返回项目中的列数。

6、int indexOfChild(QTreeWidgetItem *child)

返回项的子项列表中给定子项的索引。

7、void insertChild(int index, QTreeWidgetItem *child)

     void insertChildren(int index, const QList<QTreeWidgetItem *> &children)

在子项列表中的索引处插入子项。如果child已经插入其他地方,则不会再次插入。

8、void removeChild(QTreeWidgetItem *child)

移除 child 指示的给定项目。移除的项目不会被删除。

9、void sortChildren(int column, Qt::SortOrder order)

根据给定列中的值,使用给定顺序对项目的子项进行排序。

注意:如果项目不与 QTreeWidget 关联,则此函数不执行任何操作。

10、QTreeWidgetItem * takeChild(int index)

移除索引处的项目并返回。

11、QList<QTreeWidgetItem *> takeChildren()

移除子项列表并返回它。


QTreeWidgetItemIterator

一、描述

QTreeWidgetItem迭代器。迭代器将按照先序遍历顺序遍历项目,从而在继续访问子节点之前访问父节点。

例如,以下代码示例了树中的每个项目:

     QTreeWidgetItemIterator it(treeWidget);
     while (*it) 
     {
         if ((*it)->text(0) == itemText)
             (*it)->setSelected(true);
         ++it;
     }

还可以通过将某些标志传递给 QTreeWidgetItemIterator 的构造函数来过滤掉某些类型的节点。

二、类型成员

1、enum QTreeWidgetItemIterator::IteratorFlag:这些标志可以传递给 QTreeWidgetItemIterator 构造函数(如果使用多个,则将它们组合在一起),这样迭代器将只迭代与给定标志匹配的项目。

  • All
  • Hidden
  • NotHidden
  • Selected
  • Unselected
  • Selectable
  • NotSelectable
  • DragEnabled
  • DragDisabled
  • DropEnabled
  • DropDisabled
  • HasChildren
  • NoChildren
  • Checked
  • NotChecked
  • Enabled
  • Disabled
  • Editable
  • NotEditable
  • UserFlag
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值