QTreeWidgetItem类

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

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
返回项的column和role的值。
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笔记】QTreeWidget控件详解 QTreeWidget 是 Qt 框架中用于展示层次化数据的一个非常强大的控件,它继承自 QAbstractItemView 和 QTreeView,但提供了更为简便的接口来管理树形结构的数据。 阅读详情

相关推荐

QTreeWidgetItem Class

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

weixin_43446462的博客 285

[QT_013]Qt学习之QTreeWidgetItem详解

QTreeWidgetItem详解

kongcheng253的博客 1万+

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

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

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

[QT_012]Qt学习之QTreeWidget 详解

QTreeWidget

kongcheng253的博客 1万+

QT的QTreeWidgetItem类的使用

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

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

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 = .

1887

QTreeWidgetItem 类的翻译

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

qq_21291397的博客 1361

使用QTreeWidgetItem类在Qt编程中创建树形项目

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

DevGOOD的博客 272

QTreeWidgetItem类详细介绍

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

wanglaqqqq的博客 575

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.

841

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

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

m0_46376834的博客 1405

qt QTreeWidgetItem详解

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

ckg3824278的博客 2264

Abaqus 气动软体抓取器:从超弹性材料建模到抓取力仿真全流程解析

本文详细解析了Abaqus在气动软体抓取器仿真中的应用全流程,涵盖超弹性材料建模、接触设置优化到抓取力仿真等关键环节。通过实战案例分享Yeoh模型参数拟合、不可伸展层建模技巧及收敛优化策略,帮助工程师高效解决有限元仿真中的常见问题,提升软体机器人研发效率。

weixin_28689193的博客 238

Qt自定义QTreeWidgetItem编译出错

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

wb175208的专栏 1389

计算机网络实验(华为eNSP模拟器)——第十章 Eth-Trunk(链路聚合)

目录一、Eth-Trunk的定义二、Eth-Trunk的工作模式(一)LACP模式1、定义2、命令(二)手工负载分担模式1、定义2、命令三、结语 一、Eth-Trunk的定义 Eth-Trunk是指设备的链路聚合,即将该设备的多个接口捆绑成一个接口,从而达到了增加带宽和提高可靠性的目的。我们要注意它是将多条物理链路,在逻辑上合并成一条,而不是串在一起。例我们将LSW1交换机S5700的三个端口(即GE0/0/1 、GE0/0/2、GE0/0/3)定义为一个Eth-Trunk接口与LSW2交换机相连,如下:

小宇y的博客 8417

告别OLE!Delphi操作Excel的3种轻量级方案横向评测(FlexCel/XLSReadWriteII/LibXL)

本文深入评测了Delphi操作Excel的三种轻量级方案:FlexCel、XLSReadWriteII和LibXL。通过技术架构、API设计、性能测试和实战案例的全面对比,帮助开发者选择最适合的工具,提升Excel文件处理效率,告别传统OLE方案的依赖和性能问题。

onion的博客 929

QTreeWidgetItem

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

weixin_35753291的博客 541

CISP-PTE考前实操练习题

CISP-PTE考前学习练习题目,渗透测试功工程师

2301_79546223的博客 2000

子类化QTreeWidgetItem实现增加Item的属性

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

weixin_34336526的博客 1413

两轮差速移动机器人运动分析、建模和控制

两轮差速运动分析及建模运动学分析三种运动状态分析函数模型仿真验证直线验证曲线验证旋转验证运动控制 运动学分析 运动特性为两轮差速驱动,其底部后方两个同构驱动轮的转动为其提供动力,前方的随动轮起支撑作用并不推动其运动,如图1两轮差速驱动示意图所示。 定义其左右驱动轮的中心分别为Wl和Wr,且对应线速度为Vl和Vr,该值可以通过电机驱动接口输出的角转速ωl,ωr2和驱动轮半径r求得,即: Vl=r⋅...

启小新的博客 8万+

EDA虚拟机分享2020版本(Synopsys2020)

EDA虚拟机分享

亦安的数字小站 9190

QTreeWidgetItem自定义排序记录备忘

QTreewidgetItem ,自定义排序

Junei110的博客 745

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 919

pyqt QTreeWidgetItem设置字体颜色

treeItem=QTreeWidgetItem(parent)#parent是QTreeWidget或QTreeWidgetItem对象 treeItem.setText(0,"Hello,World") treeItem.setForeground(0,Qt.green)#可将字体颜色变为绿色,更详细的设置请看QBrush 参考search_star的博客

weixin_41530622的博客 6100

深入解析数据通信中的码元速率与比特率:从基础到实战应用

本文深入解析了数据通信中的核心概念码元速率与比特率,通过生动的比喻和公式(比特率=波特率×log₂(M))揭示其本质关系。文章结合BPSK、QPSK、16QAM等调制技术,剖析了从4G/5G到LoRa等实战场景中如何权衡速率、距离与可靠性,并提供了软考真题解析与系统设计建议,帮助读者从理论到应用全面掌握数据速率优化。

weixin_29324877的博客 213

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

关于直接include类和只在头文件内 class 类名的区别

今天看别人写的代码,用到了QTreeWidgetItem,这是QT自带的类,但是并没有#include&lt;QTreeWidgetItem&gt;而是在头文件里写了类的声明:然后用到这个类的函数接口:你看用到的都是指针!原来是因为当你在头文件声明成员变量或成员函数时,如果只需要用到某个类的指针而不需要用到类的对象,那么就可以直接只是声明一下这个类,不用include,这样可以避免编译时inclu...

weixin_40098626的博客 1425

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: QGraphicsSceneEvent
下一篇: QFrame类
floatbit
博客等级 码龄24年 460粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值