QTreeWidgetItem 类

QTreeWidgetItem 类提供项为用于 QTreeWidget 方便类。 更多...

头: #include <QTreeWidgetItem>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets

公共类型

enum ChildIndicatorPolicy { ShowIndicator, DontShowIndicator, DontShowIndicatorWhenChildless }
enum ItemType { Type, UserType }

公共函数

  QTreeWidgetItem (const QTreeWidgetItem & other )
  QTreeWidgetItem (QTreeWidgetItem * parent , QTreeWidgetItem * preceding , int type = Type)
  QTreeWidgetItem (QTreeWidgetItem * parent , const QStringList & strings , int type = Type)
  QTreeWidgetItem (QTreeWidgetItem * parent , int type = Type)
  QTreeWidgetItem (QTreeWidget * parent , QTreeWidgetItem * preceding , int type = Type)
  QTreeWidgetItem (QTreeWidget * parent , const QStringList & strings , int type = Type)
  QTreeWidgetItem (QTreeWidget * parent , int type = Type)
  QTreeWidgetItem (const QStringList & strings , int type = Type)
  QTreeWidgetItem (int type = Type)
QTreeWidgetItem & operator= (const QTreeWidgetItem & other )
virtual ~QTreeWidgetItem ()
void addChild (QTreeWidgetItem * child )
void addChildren (const QList<QTreeWidgetItem *> & children )
QBrush background (int column ) const
Qt::CheckState checkState (int column ) const
QTreeWidgetItem * child (int index ) const
int childCount () const
QTreeWidgetItem::ChildIndicatorPolicy childIndicatorPolicy () const
virtual QTreeWidgetItem * clone () const
int columnCount () const
virtual QVariant data (int column , int role ) const
Qt::ItemFlags flags () const
QFont font (int column ) const
QBrush foreground (int column ) const
QIcon icon (int column ) const
int indexOfChild (QTreeWidgetItem * child ) const
void insertChild (int index , QTreeWidgetItem * child )
void insertChildren (int index , const QList<QTreeWidgetItem *> & children )
bool isDisabled () const
bool isExpanded () const
bool isFirstColumnSpanned () const
bool isHidden () const
bool isSelected () const
QTreeWidgetItem * parent () const
virtual void read (QDataStream & in )
void removeChild (QTreeWidgetItem * child )
void setBackground (int column , const QBrush & brush )
void setCheckState (int column , Qt::CheckState state )
void setChildIndicatorPolicy (QTreeWidgetItem::ChildIndicatorPolicy policy )
virtual void setData (int column , int role , const QVariant & value )
void setDisabled (bool disabled )
void setExpanded (bool expand )
void setFirstColumnSpanned (bool span )
void setFlags (Qt::ItemFlags flags )
void setFont (int column , const QFont & font )
void setForeground (int column , const QBrush & brush )
void setHidden (bool hide )
void setIcon (int column , const QIcon & icon )
void setSelected (bool select )
void setSizeHint (int column , const QSize & size )
void setStatusTip (int column , const QString & statusTip )
void setText (int column , const QString & text )
void setTextAlignment (int column , int alignment )
void setToolTip (int column , const QString & toolTip )
void setWhatsThis (int column , const QString & whatsThis )
QSize sizeHint (int column ) const
void sortChildren (int column , Qt::SortOrder order )
QString statusTip (int column ) const
QTreeWidgetItem * takeChild (int index )
QList<QTreeWidgetItem *> takeChildren ()
QString text (int column ) const
int textAlignment (int column ) const
QString toolTip (int column ) const
QTreeWidget * treeWidget () const
int type () const
QString whatsThis (int column ) const
virtual void write (QDataStream & out ) const
virtual bool operator< (const QTreeWidgetItem & other ) const

保护函数

void emitDataChanged ()
QDataStream & operator<< (QDataStream & out , const QTreeWidgetItem & item )
QDataStream & operator>> (QDataStream & in , QTreeWidgetItem & item )

详细描述

树 Widget 项用于保持树小部件的信息行。行通常包含几列数据,每列数据可以包含文本标签和图标。

QTreeWidgetItem 类是替换 Qt 3 的 QListViewItem 类的方便类。它提供的项用于 QTreeWidget 类。

项构造通常采用的父级要么是 QTreeWidget (对于顶层项) 要么是 QTreeWidgetItem (对于较低级树项)。例如,以下代码构造顶级项来表示世界城市,并添加 Oslo 条目作为子级项:

    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"));
					

通过指定它们所跟随的项可以按特定次序添加项,当构造它们时:

    QTreeWidgetItem *planets = new QTreeWidgetItem(treeWidget, cities);
    planets->setText(0, tr("Planets"));
					

项中每列可以拥有自己的背景笔刷,设置采用 setBackground () 函数。可以找到当前背景笔刷采用 background ()。每列的文本标签可以采用自己的字体和笔刷渲染。指定这些采用 setFont () 和 setForeground () 函数,和读取采用 font () 和 foreground ().

顶层项和树中较低级项的主要差异是顶层项没有 parent ()。此信息可用于区分项之间的差异,且有助于了解何时插入和从树中移除项。可以移除项的子级采用 takeChild () 和插入在子级列表中的给定索引处采用 insertChild () 函数。

默认情况下,项是启用的、可选择的、可复选的及可以是拖放操作的来源。可以改变每项的标志通过调用 setFlags () 采用适当值 (见 Qt::ItemFlags )。可复选项可以被复选和取消复选采用 setCheckState () 函数。相应 checkState () 函数指示项目前是否被复选。

子类化

当子类化 QTreeWidgetItem 以提供自定义项时,为它们定义新类型以便区分它们与标准项是可能的。需要此特征的子类构造函数要求调用基类构造函数,采用新类型值 >= UserType .

另请参阅 QTreeWidget , QTreeWidgetItemIterator , 模型/视图编程 , QListWidgetItem ,和 QTableWidgetItem .

成员类型文档编制

enum QTreeWidgetItem:: ChildIndicatorPolicy

常量 描述
QTreeWidgetItem::ShowIndicator 0 将展示此项的展开和折叠控件,即使没有子级。
QTreeWidgetItem::DontShowIndicator 1 从不展示用于展开和折叠的控件,即使有子级。若节点被强制打开,用户将无法展开或折叠项。
QTreeWidgetItem::DontShowIndicatorWhenChildless 2 将展示用于展开和折叠的控件,若项包含子级。

enum QTreeWidgetItem:: ItemType

此枚举描述用于描述树 Widget 项的类型。

常量 描述
QTreeWidgetItem::Type 0 用于树 Widget 项的默认类型。
QTreeWidgetItem::UserType 1000 用于自定义类型的最小值。低于 UserType 的值由 Qt 预留。

可以定义新用户类型在 QTreeWidgetItem 子类以确保自定义项得到特殊处理;例如,当排序项时。

另请参阅 type ().

成员函数文档编制

QTreeWidgetItem:: QTreeWidgetItem (const QTreeWidgetItem & other )

构造副本为 other 。注意, type () 和 treeWidget () 不拷贝。

此函数是有用的,当重实现 clone ().

另请参阅 data () 和 flags ().

QTreeWidgetItem:: QTreeWidgetItem ( QTreeWidgetItem * parent , QTreeWidgetItem * preceding , int type = Type)

构造树 Widget 项采用指定 type 其被插入 parent 后于 preceding 子级项。

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem ( QTreeWidgetItem * parent , const QStringList & strings , int type = Type)

构造树 Widget 项并将其追加到给定 parent 。给定列表 strings 将被设置作为项中每列的项文本。

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem ( QTreeWidgetItem * parent , int type = Type)

构造树 Widget 项并将其追加到给定 parent .

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem ( QTreeWidget * parent , QTreeWidgetItem * preceding , int type = Type)

构造树 Widget 项采用指定 type 并将其插入给定 parent 后于 preceding 项。

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem ( QTreeWidget * parent , const QStringList & strings , int type = Type)

构造树 Widget 项采用指定 type 并将其追加到项在给定 parent 。给定列表 strings 将被设置作为项中每列的项文本。

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem ( QTreeWidget * parent , int type = Type)

构造树 Widget 项采用指定 type 并将其追加到项在给定 parent .

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem (const QStringList & strings , int type = Type)

构造树 Widget 项采用指定 type 。项必须被插入树小部件。给定列表的 strings 将被设置作为项中每列的项文本。

另请参阅 type ().

QTreeWidgetItem:: QTreeWidgetItem ( int type = Type)

构造树 Widget 项采用指定 type 。项必须被插入树 Widget。

另请参阅 type ().

QTreeWidgetItem &QTreeWidgetItem:: operator= (const QTreeWidgetItem & other )

赋值 other 的数据和标志到此项。注意 type () 和 treeWidget () 不拷贝。

此函数是有用的,当重实现 clone ().

另请参阅 data () 和 flags ().

[虚拟] QTreeWidgetItem:: ~QTreeWidgetItem ()

销毁此树 Widget 项。

项将被移除从 QTreeWidget 若它已被添加。这使之可安全地随时删除项。

void QTreeWidgetItem:: addChild ( QTreeWidgetItem * child )

追加 child 项到子级列表。

另请参阅 insertChild () 和 takeChild ().

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

追加给定列表 children 到项。

另请参阅 insertChildren () 和 takeChildren ().

QBrush QTreeWidgetItem:: background ( int column ) const

返回用于渲染背景的笔刷为指定 column .

另请参阅 setBackground () 和 foreground ().

Qt::CheckState QTreeWidgetItem:: checkState ( int column ) const

返回标签的校验状态在给定 column .

另请参阅 setCheckState () 和 Qt::CheckState .

QTreeWidgetItem *QTreeWidgetItem:: child ( int index ) const

返回项位于给定 index 在项的子级列表中。

另请参阅 parent ().

int QTreeWidgetItem:: childCount () const

返回子级项数。

QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem:: childIndicatorPolicy () const

返回项指示符策略。此策略决定何时展示树分支展开/折叠指示符。

另请参阅 setChildIndicatorPolicy ().

[虚拟] QTreeWidgetItem *QTreeWidgetItem:: clone () const

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

int QTreeWidgetItem:: columnCount () const

返回项中的列数。

[虚拟] QVariant QTreeWidgetItem:: data ( int column , int role ) const

返回值对于项的 column and role .

另请参阅 setData ().

[protected] void QTreeWidgetItem:: emitDataChanged ()

促使关联此项的模型发射 dataChanged () 信号对于此项。

通常只需调用此函数若有子类化 QTreeWidgetItem 并重实现 data () 和/或 setData ().

另请参阅 setData ().

Qt::ItemFlags QTreeWidgetItem:: flags () const

返回用于描述项的标志。这些确定项是否可以被复选、编辑及选择。

标志的默认值为 Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled .

另请参阅 setFlags ().

QFont QTreeWidgetItem:: font ( int column ) const

返回用于渲染文本的字体在指定 column .

另请参阅 setFont ().

QBrush QTreeWidgetItem:: foreground ( int column ) const

返回用于渲染前景 (如:文本) 的笔刷为指定 column 。设置默认构造的笔刷将使视图使用来自样式的默认颜色。

另请参阅 setForeground () 和 background ().

QIcon QTreeWidgetItem:: icon ( int column ) const

返回的图标显示在指定 column .

另请参阅 setIcon () 和 iconSize .

int QTreeWidgetItem:: indexOfChild ( QTreeWidgetItem * child ) const

返回索引为给定 child 在项的子级列表中。

void QTreeWidgetItem:: insertChild ( int index , QTreeWidgetItem * child )

插入 child 项在 index 在子级列表。

不会再次插入子级,若已插入在某些地方。

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

插入给定列表为 children 进项子级列表在 index .

已插入其它地方的子级不会被插入。

bool QTreeWidgetItem:: isDisabled () const

返回 true 若项被禁用;否则返回 false .

另请参阅 setFlags ().

bool QTreeWidgetItem:: isExpanded () const

返回 true 若项被展开,否则返回 false .

另请参阅 setExpanded ().

bool QTreeWidgetItem:: isFirstColumnSpanned () const

返回 true 若项跨行中所有列;否则返回 false .

另请参阅 setFirstColumnSpanned ().

bool QTreeWidgetItem:: isHidden () const

返回 true 若项被隐藏,否则返回 false .

另请参阅 setHidden ().

bool QTreeWidgetItem:: isSelected () const

返回 true 若项被选中,否则返回 false .

另请参阅 setSelected ().

QTreeWidgetItem *QTreeWidgetItem:: parent () const

返回项的父级。

另请参阅 child ().

[虚拟] void QTreeWidgetItem:: read ( QDataStream & in )

读取项从流 in 。这只将数据读取到单项。

另请参阅 write ().

void QTreeWidgetItem:: removeChild ( QTreeWidgetItem * child )

删除给定项指示通过 child 。移除项不会被删除。

void QTreeWidgetItem:: setBackground ( int column , const QBrush & brush )

设置标签背景笔刷在给定 column 到指定 brush 。设置默认构造的笔刷将使视图使用来自样式的默认颜色。

注意: Qt 样式表 用于如 setBackground() 的相同 Widget,样式表优先若设置冲突。

另请参阅 background () 和 setForeground ().

void QTreeWidgetItem:: setCheckState ( int column , Qt::CheckState state )

设置项在给定 column 复选状态为 state .

另请参阅 checkState ().

void QTreeWidgetItem:: setChildIndicatorPolicy ( QTreeWidgetItem::ChildIndicatorPolicy policy )

设置项指示器 policy 。此策略决定何时展示树分支展开/折叠指示符。默认值为 DontShowIndicatorWhenChildless .

另请参阅 childIndicatorPolicy ().

[虚拟] void QTreeWidgetItem:: setData ( int column , int role , const QVariant & value )

设置值对于项的 column and role 到给定 value .

role 描述数据类型指定通过 value ,和定义通过 Qt::ItemDataRole 枚举。

注意: 默认实现视 Qt::EditRole and Qt::DisplayRole 为引用相同数据。

另请参阅 data ().

void QTreeWidgetItem:: setDisabled ( bool disabled )

禁用项若 disabled 为 true;否则启用项。

另请参阅 isDisabled () 和 setFlags ().

void QTreeWidgetItem:: setExpanded ( bool expand )

展开项若 expand 为 true,否则折叠项。

警告: QTreeWidgetItem 必须被添加到 QTreeWidget 在调用此函数之前。

另请参阅 isExpanded ().

void QTreeWidgetItem:: setFirstColumnSpanned ( bool span )

把第 1 区间设为跨所有列若 span 为 true;否则展示所有项区间。

另请参阅 isFirstColumnSpanned ().

void QTreeWidgetItem:: setFlags ( Qt::ItemFlags flags )

将项的标志设为给定 flags 。这些确定是否可以选择或修改项。这经常用于禁用项。

另请参阅 flags ().

void QTreeWidgetItem:: setFont ( int column , const QFont & font )

设置用于显示文本的字体在给定 column 到给定 font .

另请参阅 font (), setText (),和 setForeground ().

void QTreeWidgetItem:: setForeground ( int column , const QBrush & brush )

设置标签的前景笔刷在给定 column 到指定 brush .

另请参阅 foreground () 和 setBackground ().

void QTreeWidgetItem:: setHidden ( bool hide )

隐藏项若 hide 为 True,否则展示项。

注意: 调用此函数不起作用,若项目前不在视图中。尤其,调用 setHidden(true) 在项,然后才将它添加到视图会导致项可见。

另请参阅 isHidden ().

void QTreeWidgetItem:: setIcon ( int column , const QIcon & icon )

设置要显示的图标在给定 column to icon .

另请参阅 icon (), setText (),和 iconSize .

void QTreeWidgetItem:: setSelected ( bool select )

将项的选定状态设为 select .

另请参阅 isSelected ().

void QTreeWidgetItem:: setSizeHint ( int column , const QSize & size )

设置树项大小提示在给定 column size 。若未设置大小提示或 size 无效,项委托将基于项数据计算大小提示。

另请参阅 sizeHint ().

void QTreeWidgetItem:: setStatusTip ( int column , const QString & statusTip )

设置状态提示为给定 column 到给定 statusTip . QTreeWidget 需要启用鼠标追踪,为使此特征能工作。

另请参阅 statusTip (), setToolTip (),和 setWhatsThis ().

void QTreeWidgetItem:: setText ( int column , const QString & text )

设置要显示的文本在给定 column 到给定 text .

另请参阅 text (), setFont (),和 setForeground ().

void QTreeWidgetItem:: setTextAlignment ( int column , int alignment )

设置标签的文本对齐方式在给定 column alignment 指定 (见 Qt::AlignmentFlag ).

另请参阅 textAlignment ().

void QTreeWidgetItem:: setToolTip ( int column , const QString & toolTip )

设置工具提示为给定 column to toolTip .

另请参阅 toolTip (), setStatusTip (),和 setWhatsThis ().

void QTreeWidgetItem:: setWhatsThis ( int column , const QString & whatsThis )

设置 What's This? 帮助为给定 column to whatsThis .

另请参阅 whatsThis (), setStatusTip (),和 setToolTip ().

QSize QTreeWidgetItem:: sizeHint ( int column ) const

返回为树项设置的大小提示在给定 column (见 QSize ).

另请参阅 setSizeHint ().

void QTreeWidgetItem:: sortChildren ( int column , Qt::SortOrder order )

排序项的子级使用给定 order ,通过值在给定 column .

注意: 此函数什么都不做,若项不关联 QTreeWidget .

QString QTreeWidgetItem:: statusTip ( int column ) const

返回状态提示内容为给定 column .

另请参阅 setStatusTip ().

QTreeWidgetItem *QTreeWidgetItem:: takeChild ( int index )

移除项在 index 并返回它,否则返回 0。

QList < QTreeWidgetItem *> QTreeWidgetItem:: takeChildren ()

移除子级列表并返回它,否则返回空列表。

QString QTreeWidgetItem:: text ( int column ) const

返回文本在指定 column .

另请参阅 setText ().

int QTreeWidgetItem:: textAlignment ( int column ) const

返回标签的文本对齐方式在给定 column (见 Qt::AlignmentFlag ).

另请参阅 setTextAlignment ().

QString QTreeWidgetItem:: toolTip ( int column ) const

返回工具提示为给定 column .

另请参阅 setToolTip ().

QTreeWidget *QTreeWidgetItem:: treeWidget () const

返回包含项的树 Widget。

int QTreeWidgetItem:: type () const

返回类型被传递给 QTreeWidgetItem 构造函数。

QString QTreeWidgetItem:: whatsThis ( int column ) const

返回 What's This? 帮助内容为给定 column .

另请参阅 setWhatsThis ().

[虚拟] void QTreeWidgetItem:: write ( QDataStream & out ) const

把项写入流 out 。这仅从一单项写入数据。

另请参阅 read ().

[虚拟] bool QTreeWidgetItem:: operator< (const QTreeWidgetItem & other ) const

返回 true 若项文本小于文本在 other 项,否则返回 false .

相关非成员

QDataStream & operator<< ( QDataStream & out , const QTreeWidgetItem & item )

写入树 Widget 项 item 到流 out .

此操作符使用 QTreeWidgetItem::write ().

另请参阅 序列化 Qt 数据类型 .

QDataStream & operator>> ( QDataStream & in , QTreeWidgetItem & item )

读取树 Widget 项从流 in into item .

此操作符使用 QTreeWidgetItem::read ().

另请参阅 序列化 Qt 数据类型 .