QTreeWidgetItem 类
QTreeWidgetItem 类提供了一种用于与 QTreeWidget 便利类一起使用的项目。更多信息...
头文件 | #include <QTreeWidgetItem> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += 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() |
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 |
虚拟 QTreeWidgetItem * | clone() const |
int | columnCount() const |
虚拟 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) |
(since 6.4) void | setTextAlignment(int column, Qt::Alignment 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 |
QTreeWidgetItem & | operator=(const QTreeWidgetItem &other) |
受保护的函数
void | emitDataChanged() |
相关非成员
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的新类型值。
另请参阅QTreeWidget、QTreeWidgetItemIterator、模型/视图编程、QListWidgetItem 和 QTableWidgetItem。
成员类型文档
枚举 QTreeWidgetItem::ChildIndicatorPolicy
常量 | 值 | 描述 |
---|---|---|
QTreeWidgetItem::ShowIndicator | 0 | 即使没有子项,也会显示此项目的展开和折叠控件。 |
QTreeWidgetItem::DontShowIndicator | 1 | 即使有子项,展开和折叠的控制也不会显示。如果节点被强制打开,用户将无法展开或折叠项目。 |
QTreeWidgetItem::DontShowIndicatorWhenChildless | 2 | 如果项目包含子项,则将显示展开和折叠的控制。 |
枚举 QTreeWidgetItem::ItemType
此枚举描述了用于描述树小部件项的类型。
常量 | 值 | 描述 |
---|---|---|
QTreeWidgetItem::Type | 0 | 树小部件项的默认类型。 |
QTreeWidgetItem::UserType | 1000 | 自定义类型的最低值。低于 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() 时非常有用。
[虚函数 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
返回在指定列中显示的图标。
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
。
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::EditRole和Qt::DisplayRole视为指向相同的数据。
另请参阅data。
void QTreeWidgetItem::setDisabled(bool disabled)
如果disabled为真,则禁用项;否则启用项。
另请参阅isDisabled和setFlags。
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)
将用于显示给定列文本的字体设置为指定的字体。
另请参阅font,setText和setForeground。
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。
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 的鼠标跟踪必须启用。
另请参阅 statusTip,setToolTip 和 setWhatsThis。
void QTreeWidgetItem::setText(int column, const QString &text)
将给定列中显示的文本设置为指定的 text。
另请参阅 text,setFont 和 setForeground。
[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。
另请参阅 whatsThis,setStatusTip 和 setToolTip。
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() 时非常有用。
相关非成员
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.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。