QTreeWidgetItem 类

QTreeWidgetItem 类提供了一种用于与 QTreeWidget 便利类一起使用的项目。更多信息...

头文件 #include <QTreeWidgetItem>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets

公共类型

枚举ChildIndicatorPolicy { ShowIndicator, DontShowIndicator, DontShowIndicatorWhenChildless }
枚举ItemType { Type, UserType }

公共函数

QTreeWidgetItem(int type = Type)
QTreeWidgetItem(const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, QTreeWidgetItem *preceding, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, QTreeWidgetItem *preceding, int type = Type)
QTreeWidgetItem(const QTreeWidgetItem &other)
虚拟~QTreeWidgetItem()
voidaddChild(QTreeWidgetItem *child)
voidaddChildren(const QList<QTreeWidgetItem *> &children)
QBrushbackground(int column) const
Qt::CheckStatecheckState(int column) const
QTreeWidgetItem *child(int index) const
intchildCount() const
QTreeWidgetItem::ChildIndicatorPolicychildIndicatorPolicy() const
虚拟 QTreeWidgetItem *clone() const
intcolumnCount() const
虚拟 QVariantdata(int column, int role) const
Qt::ItemFlagsflags() const
QFontfont(int column) const
QBrushforeground(int column) const
QIconicon(int column) const
intindexOfChild(QTreeWidgetItem *child) const
voidinsertChild(int index, QTreeWidgetItem *child)
voidinsertChildren(int index, const QList<QTreeWidgetItem *> &children)
boolisDisabled() const
boolisExpanded() const
boolisFirstColumnSpanned() const
boolisHidden() const
boolisSelected() const
QTreeWidgetItem *parent() const
virtual voidread(QDataStream &in)
voidremoveChild(QTreeWidgetItem *child)
voidsetBackground(int column, const QBrush &brush)
voidsetCheckState(int column, Qt::CheckState state)
voidsetChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)
virtual voidsetData(int column, int role, const QVariant &value)
voidsetDisabled(bool disabled)
voidsetExpanded(bool expand)
voidsetFirstColumnSpanned(bool span)
voidsetFlags(Qt::ItemFlags flags)
voidsetFont(int column, const QFont &font)
voidsetForeground(int column, const QBrush &brush)
voidsetHidden(bool hide)
voidsetIcon(int column, const QIcon &icon)
voidsetSelected(bool select)
voidsetSizeHint(int column, const QSize &size)
voidsetStatusTip(int column, const QString &statusTip)
voidsetText(int column, const QString &text)
(since 6.4) voidsetTextAlignment(int column, Qt::Alignment alignment)
voidsetToolTip(int column, const QString &toolTip)
voidsetWhatsThis(int column, const QString &whatsThis)
QSizesizeHint(int column) const
voidsortChildren(int column, Qt::SortOrder order)
QStringstatusTip(int column) const
QTreeWidgetItem *takeChild(int index)
QList<QTreeWidgetItem *>takeChildren()
QStringtext(int column) const
inttextAlignment(int column) const
QStringtoolTip(int column) const
QTreeWidget *treeWidget() const
inttype() const
QStringwhatsThis(int column) const
virtual voidwrite(QDataStream &out) const
virtual booloperator<(const QTreeWidgetItem &other) const
QTreeWidgetItem &operator=(const QTreeWidgetItem &other)

受保护的函数

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

详细描述

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

QTreeWidgetItem 类是一个方便类,用于替换 Qt 3 中的 QListViewItem 类。它为与 QTreeWidget 类一起使用提供了项。

项通常带有一个父项构建,这个父项要么是一个 QTreeWidget(用于顶级项)要么是一个 QTreeWidgetItem(用于树的较低级别的项)。例如,以下代码构建了一个表示世界城市的顶级项,并添加了一个奥斯陆作为子项的条目

    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的新类型值。

另请参阅QTreeWidgetQTreeWidgetItemIterator模型/视图编程QListWidgetItemQTableWidgetItem

成员类型文档

枚举 QTreeWidgetItem::ChildIndicatorPolicy

常量描述
QTreeWidgetItem::ShowIndicator0即使没有子项,也会显示此项目的展开和折叠控件。
QTreeWidgetItem::DontShowIndicator1即使有子项,展开和折叠的控制也不会显示。如果节点被强制打开,用户将无法展开或折叠项目。
QTreeWidgetItem::DontShowIndicatorWhenChildless2如果项目包含子项,则将显示展开和折叠的控制。

枚举 QTreeWidgetItem::ItemType

此枚举描述了用于描述树小部件项的类型。

常量描述
QTreeWidgetItem::Type0树小部件项的默认类型。
QTreeWidgetItem::UserType1000自定义类型的最低值。低于 UserType 的值由 Qt 保留。

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

另请参阅type()。

成员函数文档

[显式] QTreeWidgetItem::QTreeWidgetItem(int type = Type)

构造一个指定 类型 的树小部件项。项目必须插入到树小部件中。

另请参阅type()。

[显式] QTreeWidgetItem::QTreeWidgetItem(const QStringList &strings, int type = Type)

构造一个指定 类型 的树小部件项。项目必须插入到树小部件中。给定的字符串列表将设置为一项中每个列的项文本。

另请参阅type()。

[显式] QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *parent, int type = Type)

构造一个指定 类型 的树小部件项,并将其追加到给定的 中的项。

另请参阅type()。

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

构造一个指定 类型 的树小部件项,并将其追加到给定的 中的项目。给定的字符串列表将设置为项目文本,供每个列使用。

另请参阅type()。

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

构造一个指定 类型 的树小部件项,并将其插入到给定的 中,紧随指定 前一个项目 之后。

另请参阅type()。

[显式] QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, int type = Type)

构造一个树小部件项并将其追加到给定的

另请参阅type()。

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

构建一个树形小部件项并将其添加到指定的 父元素。给定的字符串列表将被设置为项文本,每个列。

另请参阅type()。

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

构建一个指定 类型 的树形小部件项,并将其插入到 父元素先前 子元素之后。

另请参阅type()。

QTreeWidgetItem::QTreeWidgetItem(const QTreeWidgetItem &other)

构建 其他 的副本。注意,类型() 和 treeWidget() 不会被复制。

此函数在重新实现 clone() 时非常有用。

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

[虚函数 noexcept] QTreeWidgetItem::~QTreeWidgetItem()

销毁此树形小部件项。

项将被从其已添加到的所有 QTreeWidget 中移除。这使得在任何时候删除项都安全。

void QTreeWidgetItem::addChild(QTreeWidgetItem *child)

子元素 添加到子元素列表中。

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

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

将给定的 子元素 列表添加到项中。

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

QBrush QTreeWidgetItem::background(int column) const

返回用于渲染指定 背景 的画刷。

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

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

返回给定 中标签的复选状态。

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

QTreeWidgetItem *QTreeWidgetItem::child(int index) const

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

另请参阅parent().

int QTreeWidgetItem::childCount() const

返回子项的数量。

QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy() const

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

另请参阅setChildIndicatorPolicy().

[virtual] QTreeWidgetItem *QTreeWidgetItem::clone() const

创建项及其子项的深度副本。

int QTreeWidgetItem::columnCount() const

返回项中的列数。

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

返回项的角色的值。

另请参阅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

返回用于渲染指定中文本的字体。

另请参阅setFont

QBrush QTreeWidgetItem::foreground(int column) const

返回用于渲染指定的前景(例如文本)的画笔。设置一个默认构造的画笔将让视图使用默认颜色。

另请参阅setForeground()和background

QIcon QTreeWidgetItem::icon(int column) const

返回在指定中显示的图标。

另请参阅setIcon()和iconSize

int QTreeWidgetItem::indexOfChild(QTreeWidgetItem *child) const

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

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

在子项列表中将 子项 插入到下标 index 处。

如果子项已经被插入到其他地方,则不会再次插入。

void QTreeWidgetItem::insertChildren(int index, const QList<QTreeWidgetItem *> &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)

将给定列的标签的背景画笔设置为指定的 brush。设置默认构造的画笔将让视图使用样式中的默认颜色。

注意:如果在相同的控件上使用 Qt Style Sheets 以及背景设置,样式表将在冲突的情况下优先。

另请参阅background() 和 setForeground

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

将给定列中的项的复选框状态设置为指定的状态。

另请参阅checkState

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

设置项指示器策略。此策略决定了树分支展开/折叠指示器何时显示。默认值是DontShowIndicatorWhenChildless

另请参阅childIndicatorPolicy

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

将给定列和角色的值设置项为指定的值。

role描述了value指定的数据类型,由Qt::ItemDataRole枚举定义。

注意:默认实现将Qt::EditRoleQt::DisplayRole视为指向相同的数据。

另请参阅data

void QTreeWidgetItem::setDisabled(bool disabled)

如果disabled为真,则禁用项;否则启用项。

另请参阅isDisabledsetFlags

void QTreeWidgetItem::setExpanded(bool expand)

如果expand为真,则展开项;否则折叠项。

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

另请参阅isExpanded

void QTreeWidgetItem::setFirstColumnSpanned(bool span)

如果span为真,则将第一部分设置为跨所有列;否则显示所有项部分。

另请参阅isFirstColumnSpanned

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

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

另请参阅flags

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

将用于显示给定列文本的字体设置为指定的字体。

另请参阅fontsetTextsetForeground

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

将给定列中标签的前景笔刷设置为指定的笔刷。

另请参阅 foreground() 和 setBackground

void QTreeWidgetItem::setHidden(bool hide)

如果 hide 为 true,则隐藏项目,否则显示项目。

注意:如果项目当前不在视图中,则对此函数的调用不会产生效果。特别是,在对项目调用 setHidden(true) 并仅然后将其添加到视图中,将会使项目可见。

另请参阅 isHidden

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

将给定列中显示的图标设置为指定的 icon

另请参阅 iconsetTexticonSize

void QTreeWidgetItem::setSelected(bool select)

将项目的选择状态设置为 select

另请参阅 isSelected

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

将给定列中树项的大小提示设置为指定的 size。如果没有设置大小提示或 size 无效,则项代理将根据项数据计算大小提示。

另请参阅 sizeHint

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

将给定列的状态提示设置为指定的 statusTip。若要使用此功能,QTreeWidget 的鼠标跟踪必须启用。

另请参阅 statusTipsetToolTipsetWhatsThis

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

将给定列中显示的文本设置为指定的 text

另请参阅 textsetFontsetForeground

[since 6.4] void QTreeWidgetItem::setTextAlignment(int column, Qt::Alignment alignment)

将给定列中标签的文本对齐设置为指定的 alignment

此函数自 Qt 6.4 起引入。

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

为指定的 设置工具提示为 toolTip

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

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

将指定 的 "这是什么?" 帮助设置为 whatsThis

另请参阅 whatsThissetStatusTipsetToolTip

QSize QTreeWidgetItem::sizeHint(int column) const

返回在指定 中为树项设置的尺寸提示(参见 QSize)。

另请参阅 setSizeHint

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

使用给定的 order 中的值对项的子项进行排序。

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

QString QTreeWidgetItem::statusTip(int column) const

返回指定 的内容的状态提示。

另请参阅 setStatusTip

QTreeWidgetItem *QTreeWidgetItem::takeChild(int index)

删除索引为 index 的项并返回它,否则返回 0。

QList<QTreeWidgetItem *> QTreeWidgetItem::takeChildren()

删除子项列表并返回它,否则返回空列表。

QString QTreeWidgetItem::text(int column) const

返回指定 中的文本。

另请参阅 setText

int QTreeWidgetItem::textAlignment(int column) const

返回给定 中标签的文字对齐方式。

注意: 由于历史原因,此函数返回整型。在 Qt 7 中,它将被更正为返回 Qt::Alignment

另请参阅 Qt::Alignment

QString QTreeWidgetItem::toolTip(int column) const

返回指定 的工具提示。

另请参阅 setToolTip

QTreeWidget *QTreeWidgetItem::treeWidget() const

返回包含项的树形控件。

int QTreeWidgetItem::type() const

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

QString QTreeWidgetItem::whatsThis(int column) const

返回给定内容的"这是什么?"帮助信息。

另请参阅setWhatsThis().

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

将项目写入流out。这仅写入来自单个项目的数据。

另请参阅read().

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

如果项目的文本小于其他项目的文本,则返回true,否则返回false

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

其他的数据和标志分配给此项目。请注意,type()和treeWidget()不会复制。

此函数在重新实现 clone() 时非常有用。

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

相关非成员

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

将树小部件项目item写入流out

此运算符使用QTreeWidgetItem::write

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

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

从流in中读取一个树小部件项目到item

此运算符使用QTreeWidgetItem::read

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

© 2024 The Qt Company Ltd. 本文档中的文档贡献的版权属于其各自所有者。本提供的文档是根据自由软件基金会发布的GNU 自由文档许可证版本 1.3的条款许可的。Qt以及相关标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。