QTreeWidgetItem类

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

QTreeWidgetItem为使用QTreeWidget类提供一个方便的项(item)。


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

【详细描述】

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

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() 插入到子项列表中的给定索引处。

默认情况下,项目是启用的(enabled)、可选的(selectable)、可检查的( checkable),并且可以是拖放操作的源。可以通过调用具有适当值的setFlags() 来更改每个项目的标志(请参阅Qt::ItemFlags)。可以使用 setCheckState() 函数设置可检查状态。相应的checkState() 函数指示当前是否选中了该项目。

 子类化 

在对 QTreeWidgetItem 进行子类化以提供自定义项目时,可以为它们定义新类型,以便将它们与标准项目区分开来。需要此功能的子类的构造函数需要调用具有等于或大于 的新类型值的基类构造函数UserType

 成员类型文档 

enum QTreeWidgetItem::ChildIndicatorPolicy

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

enum QTreeWidgetItem::ItemType

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

名称描述
QTreeWidgetItem::Type0树构件项的默认类型。
QTreeWidgetItem::UserType1000自定义类型的最小值。UserType 以下的值由 Qt 保留。

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


【公共类型】

enumChildIndicatorPolicy { ShowIndicator, DontShowIndicator, DontShowIndicatorWhenChildless }
enumItemType { Type, UserType }

【公有函数】

一共有4个参数:

1.构造指type的树形控件项。

2.给定的QStringList将设置为项目中每列的文本。

3.新构造项附加到parent。

4.新构造项插入到 preceding项之后。

右侧多种构造函数是以上4个参数的组合,新构造的项必须插入到树构件中。

最后一种是构造other的副本。注意,不会复制type() 和 treeWidget()。

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(QTreeWidgetItem *parent, int type = Type)
QTreeWidgetItem(QTreeWidgetItem *parent, const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding, int type = Type)
QTreeWidgetItem(const QTreeWidgetItem &other)
virtual~QTreeWidgetItem()
voidaddChild(QTreeWidgetItem *child)
child项追加到子项列表中。
voidaddChildren(const QList<QTreeWidgetItem *> &children)
将给定的children列表追加到项目中。
QBrushbackground(int column) const
返回用于呈现指定column的背景画笔。
Qt::CheckStatecheckState(int column) const
返回给定column标签的检查状态。
QTreeWidgetItem *child(int index) const
返回项的子项列表中index给定的项。
intchildCount() const
返回子项的数目。
QTreeWidgetItem::ChildIndicatorPolicychildIndicatorPolicy() const
返回项指示器策略。此策略决定何时显示树枝展开/折叠指示器。
virtual QTreeWidgetItem *clone() const
创建项及其子项的深层副本。
intcolumnCount() const
virtual QVariantdata(int column, int role) const
返回项的columnrole的值。
Qt::ItemFlagsflags() const
返回用于描述项的标志。标志决定是否可以检查、编辑和选择项目。
QFontfont(int column) const
返回用于呈现指定column中的文本的字体。
QBrushforeground(int column) const
返回用于呈现指定column的前景(例如文本)的画笔。设置默认构造的画笔将允许视图使用样式中的默认颜色。
QIconicon(int column) const
返回在指定的column中显示的图标。
intindexOfChild(QTreeWidgetItem *child) const
返回给定的的索引child 在项目的子项目列表中。
voidinsertChild(int index, QTreeWidgetItem *child)

child子项列表 index中插入项。如果孩子已经插入到其他地方,则不会再次插入。

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

将给定的children列表插入到index的项子项列表中。已插入到其他位置的子项将不会插入。

boolisDisabled() const
如果项目被禁用,则返回true;否则返回false
boolisExpanded() const
如果项目展开,
boolisFirstColumnSpanned() const
如果项跨越一行中的所有列
boolisHidden() const
如果项目处于隐藏状态,则返回true,否则返回 false
boolisSelected() const
如果选择该项,则返回true,否则返回 false
QTreeWidgetItem *parent() const
返回项的父项。
virtual voidread(QDataStream &in)
从流中读取项目。这只会将数据读取到单个项目中。
voidremoveChild(QTreeWidgetItem *child)
删除child指示的给定项。删除的项不会被删除。
voidsetBackground(int column, const QBrush &brush)

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

注意: 如果与Qt Style Sheets用于同一控件,则在设置冲突时,样式表将优先。

voidsetCheckState(int column, Qt::CheckState state)
将处于给定 column检查状态的项设置为state
voidsetChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)
设置项目指示符policy。此策略决定何时显示树枝展开/折叠指示器。默认值为DontShowIndicatorWhenChildless 。
virtual voidsetData(int column, int role, const QVariant &value)

将项 column的 role 值设置为给定的value。role描述由value指定的数据类型,并由枚举 Qt::ItemDataRole定义。注意: 默认实现将 Qt::ItemDataRole视为引用相同的数据。

voidsetDisabled(bool disabled)
如果为 true则禁用,否则启用该项。
voidsetExpanded(bool expand)

如果expand 为 true,则将第一部分设置为跨越所有列;否则,将显示所有项目部分。

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

voidsetFirstColumnSpanned(bool span)
如果 span 为 true,则将第一部分设置为跨越所有列;否则,将显示所有项目部分。
voidsetFlags(Qt::ItemFlags flags)
将项的标志设置为给定的flags,这些决定了是否可以选择或修改项目。这通常用于禁用项目。
voidsetFont(int column, const QFont &font)
将用于显示文本的column设置为给定的font
voidsetForeground(int column, const QBrush &brush)
将给定标签column的前景画笔设置为指定的brush
voidsetHidden(bool hide)
如果为 true,则隐藏项目,否则显示该项目。
voidsetIcon(int column, const QIcon &icon)
将要在给定的column中显示的图标设置为icon
voidsetSelected(bool select)
将项的选定状态设置为select
voidsetSizeHint(int column, const QSize &size)

将给定的column树项的大小提示设置为size。如果未设置大小提示或无效,则项委托将根据项数据计算大小提示。

voidsetStatusTip(int column, const QString &statusTip)
将给定column的状态提示设置为给定的statusTip,需要启用鼠标跟踪才能使此功能正常工作。
voidsetText(int column, const QString &text)
将要在给定column中显示的文本设置为给定的text
voidsetTextAlignment(int column, Qt::Alignment alignment)
将给定column标签的文本对齐方式设置为指定alignment
voidsetToolTip(int column, const QString &toolTip)
将给定column,的工具提示设置为toolTip
voidsetWhatsThis(int column, const QString &whatsThis)
将 “What's This?” 帮助设置为whatsThis
QSizesizeHint(int column) const
返回给定 column的树项设置的大小提示(请参见 QSize)。
voidsortChildren(int column, Qt::SortOrder order)

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

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

QStringstatusTip(int column) const
返回给定column内容的状态提示。
QTreeWidgetItem *takeChild(int index)
删除index项并返回它,否则返回 0。
QList<QTreeWidgetItem *>takeChildren()
删除子列表并返回它,否则返回一个空列表。
QStringtext(int column) const
返回 column指定的文本。
inttextAlignment(int column) const
返回给定column中标签的文本对齐方式。
QStringtoolTip(int column) const
返回给定column的工具提示。
QTreeWidget *treeWidget() const
返回包含项的树构件。
inttype() const
返回传递给构造函数的类型。
QStringwhatsThis(int column) const
返回给定column的 “What's This?” 帮助 。
virtual voidwrite(QDataStream &out) const
将项目写入输出流 。这仅从一个项目写入数据。
virtual booloperator<(const QTreeWidgetItem &other) const
如果项中的文本小于other项中的文本,则返回true,否则返回 false
QTreeWidgetItem &operator=(const QTreeWidgetItem &other)
如果项中的文本等于other项中的文本,则返回true,否则返回 false

【受保护函数】 

voidemitDataChanged()

使与此项关联的模型发出此项的dataChanged() 信号。

通常,只有在已子类化并重新实现 data() 和/或 setData()时,才需要调用此函数。


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

<<< 返回根页面

QT基础之[QTreeWidgetItem]详解,示例 双击UI文件选择,打开ui设计器,拖拽一个Tree Widget 控件, 阅读详情

相关推荐

Qt笔记】QTreeWidget控件详解

QTreeWidget 是 Qt 框架中用于展示层次化数据的一个非常强大的控件,它继承自 QAbstractItemView 和 QTreeView,但提供了更为简便的接口来管理树形结构的数据。

qq_52924376的博客 1万+

QT开发】树形控件项QTreeWidgetItem详解及实战应用

QTreeWidgetItemQt提供的一个功能强大且灵活的树形控件项,通过本篇文章的学习,你应该对QTreeWidgetItem有了全面的理解,能够在自己的项目中正确使用它。QTreeWidgetItem在用户界面中帮助你更好地展示和管理树状数据,实现交互式和响应式的数据展示,有助于创建用户友好和高效的文件系统浏览器、项目管理工具、目录树等应用场景。

科技改变人类,技术成就未来 2634

QTreeWidgetItem Class

Header:#include < QTreeWidgetItem > qmake:QT += widgets

weixin_43446462的博客 283

QTQTreeWidgetItem的使用

详细说明 QTreeWidgetItem提供了与QTreeWidget便利一起使用的项目。 树小部件项目用于保存树小部件的信息行。行通常包含几列数据,每列数据可以包含一个文本标签和一个图标。 QTreeWidgetItem是一个便利,它代替了Qt 3中的QListViewItem。它提供了一个与QTreeWidget一起使用的项目。 通常使用父项构造项目,该父项可以是QTreeWidget(用于顶级项目)或QTreeWidgetItem(用于树中较低级别的项目)。例如,以下代码构造一个顶层项目来

希望我的博客,能帮上你解决学习中工作中所遇到的问题 3617

[QT_013]Qt学习之QTreeWidgetItem详解

QTreeWidgetItem详解

kongcheng253的博客 1万+

[QT_012]Qt学习之QTreeWidget 详解

QTreeWidget

kongcheng253的博客 1万+

Qt QTreeWidget 详解

QTreeWidget是一个方便的,它提供了一个标准tree小部件与一个典型的基于项目所使用的接口似QListView

aoxuestudy的专栏 1万+

QTreeWidgetItem 的翻译

文章目录QTreeWidgetItem 的翻译简介子QTreeWidgetItem1、构造函数2、其他成员函数3、成员函数的简单使用 QTreeWidgetItem 的翻译 简介 QTreeWidgetItemQTreeWidget 一同是为了实现树状数据型。 TreeWidget的每个数据项(items)有行和列决定。每个数据项除了包含数据外,还可以包含text lable 或者icon。 数据项(items)建构的时候,指定的父项可以是QTreeWidget (for top-level

qq_21291397的博客 1355

QTreeWidgetItem详细介绍

是 PyQt5 中用于在中表示的,用于构建层次化数据展示(如文件目录树、分层级等)。每个节点可以包含多列数据、子节点和自定义属性。

wanglaqqqq的博客 570

7.6.3 QTreeWidgetItem函数介绍

7.6.3QTreeWidgetItem函数介绍 QTreeWidgetItem是一个描述QTreeWidget节点信息的视图。每一行通常包含多个列的数据,每一列可以包含一个文本标签和图标。  构造函数 QTreeWidgetItem(int type = Type) QTreeWidgetItem(const QStringList &strings, int type = Type) QTreeWidgetItem(QTreeWidget *parent, int type = .

1880

使用QTreeWidgetItemQt编程中创建树形项目

Qt是一个流行的跨平台应用程序开发框架,它提供了丰富的GUI组件和工具,以简化应用程序的开发过程。QTreeWidgetItemQt框架中一个非常有用的,它用于创建树形结构的项目。在本文中,我们将详细介绍如何使用QTreeWidgetItem来创建和管理树形项目,并提供相应的源代码示例。首先,我们需要在源代码中引入必要的头文件,以便使用QTreeWidgetItem和其他相关的Qt和函数。通过使用QTreeWidgetItem提供的信号和方法,我们可以对树形项目进行选择和操作。

DevGOOD的博客 270

7.6.2 QTreeWidgetItem相关函数介绍

7.6.2 QTreeWidgetItem相关函数介绍 1.设置列编号 int columnCount() const; void setColumnCount(int columns); 列编号默认为1。示例: QTreeWidget *tree = new QTreeWidget; tree->setColumnCount(10); 图7-6-4 列编号 2.添加顶部节点树 void QTreeWidget::addTopLevelItem(QTreeWidgetIte.

835

QTreeWidgetItemQt 框架中的一个,用于在树形控件中表示和操作树节点

QTreeWidgetItem 代表树形控件中的一个节点,可以包含子节点、显示文本、图标和其他相关数据。通过使用 QTreeWidgetItem,我们可以方便地创建和管理树形控件中的节点,构建具有层次结构的数据展示和操作功能。QTreeWidgetItemQt 框架中的一个,用于在树形控件中表示和操作树节点。方法将任意型的数据与节点关联起来,以便在需要时检索和使用。方法设置节点的文本和图标,用于显示在树形控件中。方法可以向节点添加子节点,并通过。等方法来遍历和访问节点的子节点。

m0_46376834的博客 1402

qt QTreeWidgetItem详解

QTreeWidgetItemQt 框架中的一个,专门用于在 QTreeWidget(一个基于项的树形视图)中表示单个节点(或称为项)。QTreeWidget 继承自 QAbstractItemView,而 QTreeWidgetItem 则作为树中的一个节点,可以包含文本、图标、子节点等。通过 QTreeWidgetItem,用户可以轻松地管理树形结构中的数据,包括添加、删除、展开、折叠节点等。

ckg3824278的博客 2246

QTreeWidgetItem

QTreeWidgetItemQt 的一个,用于在 QTreeWidget 中显示项目。QTreeWidget 是一个继承自 QTreeView 的控件,用于显示树状结构的数据。QTreeWidgetItem 将每个项目作为一个独立的对象进行管理,可以为其设置文本、图标、数据等属性,并且支持拖放操作。使用 QTreeWidget 时,通常需要创建许多 QTreeWidgetItem 对象来...

weixin_35753291的博客 538

Qt自定义QTreeWidgetItem编译出错

由于项目的需要,自己重新定义了一个MyTreeWidgetItem继承自QTreeWidgetItem,编译的时候出现了错误: #pragma once #include <QTreeWidgetItem> class MyTreeWidgetItem : public QTreeWidgetItem { Q_OBJECT public: MyTreeWidgetItem(Q...

wb175208的专栏 1386

QTreeWidgetItem实现增加Item的属性

因为有需求是点击QTreeWidgetItem需要获取该Item的节点的相关属性,Item需要保存关联的属性,那么就需要扩展QTreeWidgetItem,当然,C++中扩展修改一个或组件的方式就是继承了, 然后创建子化的的实例,就可以添加进QTreeWidget了,以下是子化的代码: ///////////////////////////////H文件/////////////////...

weixin_34336526的博客 1411

QTreeWidgetItem自定义排序记录备忘

QTreewidgetItem ,自定义排序

Junei110的博客 744

QTreeWidget\QTreeWidgetItem说明

它提供了丰富的功能和灵活的配置选项,用于自定义每个项目的外观和行为,并支持层次结构的管理和操作。QTreeWidget是一个方便的,它提供了一个带有经典基于项目的界面的标准树窗口部件,似于Qt 3中QListView使用的界面。以上是QTreeWidgetItem的一些常用接口,通过使用这些接口,可以对树形控件的各个项进行数据操作、文本设置、图标设置、复选框状态设置、子项管理等操作。在QTreeWidget中,"顶级项"指的是树形控件中的最高层级的项,也就是树的根节点。

zxf347085420的博客 401
上一篇: QGraphicsSceneEvent
下一篇: QFrame类
floatbit
博客等级 码龄24年 460粉丝 47原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值