当前位置: 首页 > news >正文

67常用控件_QTreeWidget的使用

目录

代码⽰例: 使⽤ QTreeWidget


使⽤ QTreeWidget 表⽰⼀个树形控件. ⾥⾯的每个元素, 都是⼀个 QTreeWidgetItem , 每个
QTreeWidgetItem 可以包含多个⽂本和图标, 每个⽂本/图标为⼀个 列.
可以给 QTreeWidget 设置顶层节点(顶层节点可以有多个), 然后再给顶层节点添加⼦节点, 从⽽构成 树形结构.
QTreeWidget 核⼼⽅法
方法说明
clear清空所有子节点
addTopLevelItem(QTreeWidgetItem* item)新增顶层节点
topLevelItem(int index)获取指定下标的顶层节点
topLevelItemCount()获取顶层节点个数
indexOfTopLevelItem(QTreeWidgetItem* item)查询指定节点是顶层节点中的下标
takeTopLevelItem(int index)删除指定的顶层节点,返回 QTreeWidgetItem * 表示被删除的元素
currentItem()获取到当前选中的节点,返回 QTreeWidgetItem*
setCurrentItem(QTreeWidgetItem* item)选中指定节点
setExpanded(bool)展开 / 关闭节点
setHeaderLabel(const QString& text)设置 TreeWidget 的 header 名称
QTreeWidget 核⼼信号
信号说明
currentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* old)切换选中元素时触发
itemClicked(QTreeWidgetItem* item, int col)点击元素时触发
itemDoubleClicked(QTreeWidgetItem* item, int col)双击元素时触发
itemEntered(QTreeWidgetItem* item, int col)鼠标进入时触发
itemExpanded(QTreeWidgetItem* item)元素被展开时触发
itemCollapsend(QTreeWidgetItem* item)元素被折叠时触发
QTreeWidgetItem 核⼼属性
属性说明
text持有的文本
textAlignment文本对齐方式
icon持有的图表
font文本字体
hidden是否隐藏
disabled是否禁用
expand是否展开
sizeHint尺寸大小
selected是否选中
QTreeWidgetItem 核⼼⽅法
方法说明
addChild(QTreeWidgetItem* child)新增子节点
childCount()子节点的个数
child(int index)获取指定下标的子节点,返回 QTreeWidgetItem*
takeChild(int index)删除对应下标的子节点
removeChild(QTreeWidgetItem* child)删除对应的子节点
parent()获取该元素的父节点

代码⽰例: 使⽤ QTreeWidget

1) 在界⾯上创建⼀个 TreeView , 右键 => 变形为 => TreeWidget , 再创建⼀个 lineEdit 和 两个按
钮.
注意: TreeWidget TreeView 的⼦类, 功能⽐ TreeView 更丰富. 咱们使⽤ TreeWidget
即可.

 可以通过designer编辑内容

2) 编写代码, 构造初始数据

3) 编写代码, 实现按钮的 slot 函数
4) 执⾏程序, 可以针对树形框进⾏编辑.
QTreeWidget控件虽然是树形结构,但是这个树形结构,没有体现出根节点~~是从根节点的下一层子节点开始计算的~~
针对顶层节点来说,这里也是一个类似于"List”这样的结构~~

上述这几个控件相关的操作,数据都是在内存中保存的,无论在界面上做任何操作,重新运行程序,之前的数据就都没了~~
如果要想让数据能够重启也不丢失,就需要编写更多的代码把存储到内存的数据获取到,写入到文件中,并且在下次运行的时候从文
件加载数据~~ 

相关文章:

  • 2024 吉林 CCPC
  • 表中如何插入数据!扩展技能边界
  • 9.5 Q1 | 北京协和医学院GBD发文 | 1990-2021 年全球、区域和国家心力衰竭负担及其根本原因
  • 外地车在北京进京证用完后该如何行驶
  • PostgreSQL查询一个表的数据
  • 【面板数据】各地区新型数字基础设施数据集(2002-2025年)
  • GPU 图形计算综述 (二):固定管线
  • 攻防世界-BadProgrammer
  • Spring AI MCP的几个小问题
  • Python训练营打卡 Day39
  • 【博客系统】博客系统第十一弹:从零开始在 Linux 系统上搭建 Java 部署环境并部署 Web 项目
  • while循环
  • java上机测试错题回顾(4)
  • MC0309魔法项链
  • 从微积分到集合论(1630-1910)(历史简介)——第3章——数学分析的出现及其基础性进展(1780-1880)(I.Grattan-Guinness)
  • 65常用控件_QListWidget的使用
  • C++ 判断文件的编码类型
  • 如何选择适合团队的项目管理工具
  • 【AI News | 20250529】每日AI进展
  • 人工智能-训练AI模型涉及多个步骤
  • 学做网站前景/沈阳网站建设公司
  • 什么网站做一件代发/种子搜索引擎 磁力天堂
  • wordpress 搬迁插件/seo的含义是什么意思
  • 网站怎么做滚动字幕/b2b b2c c2c o2o区别
  • 微信小程序开发工具怎么用/seo入口
  • 学生做的网站能攻击/怎么制作网站?