Qt树形控件QTreeView使用指南

编程 专栏收录该内容
¥29.90 ¥99.00
374篇文章

Qt树形控件QTreeView使用指南

在Qt中,树形控件是一种常用的数据展示方式。而QTreeView就是其中的一种树形控件。它可以显示复杂的层级结构数据,并且支持用户的交互操作,例如展开和关闭节点、勾选和取消勾选等。

下面我们来介绍如何使用QTreeView控件。

一、导入头文件和命名空间

首先需要在代码中导入头文件:

#include <QTreeView>
#include <QFileSystemModel>

同时,使用Qt的命名空间:

using namespace Qt;

二、创建QTreeView实例

创建QTreeView实例的方法很简单,只需要调用默认构造函数即可:

QTreeView* treeView = new QTreeView(parent);

其中parent为QWidget类型的指针,表示该控件的父窗口。如果没有父窗口,则parent填写nullptr。

三、设置数据模型

QTreeView需要一个数据模型才能展示数据,这里我们使用QFileSystemModel作为例子。

QFileSystemModel* fileSystemModel = new QFileSystemModel;
fileSystemModel->setRootPath("/");
treeView->setModel(fileSystemModel);
QTreeView使用整理 Model/View架构分为三部分:模型、视图和委托。主要目的是将数据的存储与显示分离。Model模型:对外提供标准接口存取数据,不关心数据如何显示。View视图:自定义数据的显示方式,不关心数据如何组织存储。Delegate委托:在视图的基础上可以自定义特殊的显示和编辑效果。一般只有Model与内存上的原始数据打交道,通过原始数据构造一个Model,然后View从Model取数据进行展示。 阅读详情

相关推荐

Qt QTreeWidget树形控件用法详解_qt 树控件

图 1 是树形结构的一个典型示例,MyFirstQt 项目的内部构成一目了然,项目内部包含一个 MyFirstQt.pro 项目文件和 3 个文件夹,每个文件夹中包含哪些文件也都可以清楚地看到。作为一款成熟的 GUI 框架,Qt 提供了 QTreeWidget 树形控件,专门用来以树形结构显示数据。

2501_90433399的博客 1940

Qt树形控件QTreeView使用1——节点的添加删除操作_qtreeview删除节点后有空行(1)

str += QStringLiteral(“当前选中:%1\nrow:%2,column:%3\n”).arg(index.data().toString())str += QStringLiteral(“父级:%1\n”).arg(index.parent().data().toString());str += QStringLiteral(“父级:%1\n”).arg(index.parent().data().toString());

2401_85014997的博客 1511

Qt QTreeWidget树形控件用法详解_qt 树控件(1)

已剪辑自: http://c.biancheng.net/view/vip_9659.htmlQTreeWidget 是 Qt 框架提供的一种树形控件,它能以树形结构展示数据(或者文件)之间的包含关系。举个简单的例子,下图是我们创建好的一个 Qt 项目:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fMzezztO-1669280924164)(http://c.biancheng.net/uploads/allimg/211028/16394RH8-0.gif)]

2401_87019153的博客 1447

Qt之QSS(QTreeView)

简述 QTreeView 作为一个树形控件,我们经常用到,只要对样式熟悉,可以做出特别漂亮的特效。 简述 自定义 QTreeView 指示器 整行拓展 自定义 QTreeView 交替行的背景色可以使用下面样式代码来定义: QTreeView { alternate-background-col...

weixin_33774883的博客 3632

Qt树形控件QTreeView使用1——节点的添加删除操作_qtreeview删除节点后有空行(2)

效果:使用model->indexFromItem(itemProject).row()可以不用记得当前的条目是第几行。

2401_84976318的博客 592

Qt树形控件QTreeView使用详解

在CustomTreeModel中,我们创建了一个自定义的树形结构,包括根节点和两个子节点。我们重写了QAbstractItemModel的一些函数,包括index()、parent()、rowCount()、columnCount()和data()等函数,以实现自定义树形数据模型的功能。然后,我们创建了两个QStandardItem对象,并使用根节点的appendRow()函数将它们添加为子节点。其中,QTreeView是Qt中用于显示树形结构数据的控件,它提供了对树形数据的展示和操作功能。

DevNinja的博客 927

Qt树形控件QTreeView使用详细说明

Qt提供了树形控件,当需要动态选择相应的信息展示时,可以用树形控件。 例如,下面的demo效果: 继承关系 class Q_WIDGETS_EXPORT QTreeView : public QAbstractItemView 点击树形节点,如何获得点击节点的信息呢, 查看QTreeView的头文件,该类好像没...

琅嬛福地 1万+

Qt 之 QSS(QTreeView)

QTreeView 作为一个树形控件,我们经常用到,只要对样式熟悉,可以做出特别漂亮的特效。

青春不老,奋斗不止! 2万+

DAC8760高精度数模转换器原理与工业级嵌入式应用

数模转换器(DAC)是工业测控系统中实现数字指令到模拟执行的关键接口,其核心性能由分辨率、线性度、温漂及系统级TUE(总未调整误差)共同决定。DAC8760作为一款16位四象限精密DAC,集成了可编程增益放大器(PGA)、内部基准源与SPI高速接口,支持电压/电流双模输出,显著提升闭环控制精度与硬件适配灵活性。其技术价值在于将高精度模拟前端与数字控制深度耦合,满足PLC、ATE及激光偏置等严苛场景对长期稳定性与多通道同步性的要求。本文围绕DAC8760的寄存器配置、HAL/LL驱动实践、PCB布局规范、现场

weixin_42315569的博客 583

手把手教你解决USB批量传输中512字节整数倍数据丢失问题

本文详细解析了USB批量传输中512字节整数倍数据丢失问题的根源,并提供了通过零长度包(ZLP)的解决方案。文章涵盖USB协议核心机制、ZLP实现代码示例(包括Android、Linux和Windows平台)、调试技巧及性能优化建议,帮助开发者彻底解决这一常见问题。

smartcontract5的博客 261

【YOLO 系列】基于YOLOv8的工业零件表面缺陷智能检测系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了如何基于YOLOv8深度学习模型和PyQt5图形界面,构建一套完整的工业零件表面缺陷智能检测系统。内容涵盖从环境搭建、数据集标注、模型训练调参到最终封装成可执行桌面软件的全流程,并深入解析了YOLOv8在工业视觉场景中的技术优势与落地优化策略。

ol78901234的博客 401

利用LTspice设计Pt100测温电路

是一种广泛使用的温度传感器,它属于(RTD, Resistance Temperature Detector)的类型,通常用于温度测量。在0°C时,的电阻值为100欧姆,且它的电阻值会随着温度的升高而升高。PT100热电阻温度阻值对应表)因此可以根据这一特性来检测出环境温度。

2301_77033628的博客 2417

EMC辐射发射测试:垂直与水平极化测试原理与实战指南

电磁兼容(EMC)测试是确保电子设备在复杂电磁环境中稳定运行的关键环节,其核心在于评估设备产生的电磁干扰(EMI)强度。辐射发射测试作为EMC测试的重要组成部分,通过测量设备向空间辐射的电磁噪声,判断其是否符合国际标准限值。测试原理基于电磁波的极化特性,即电场矢量的振动方向,主要分为垂直极化和水平极化。理解极化特性对于精准定位辐射源、高效进行EMC整改具有重要技术价值。在工程实践中,垂直极化噪声通常源于线缆辐射等垂直结构,而水平极化噪声多来自PCB走线等水平结构。通过分别测量两种极化方向的辐射最大值,可以全

weixin_32770423的博客 355

Blender学习笔记——制作向量场

#下载Blender - UE4 - FGA Vector Field Editor插件的压缩包,Github上的下载地址如下:https://github.com/isathar/Blender_UE4_VectorFieldEditor #下载并解压后将FGA VectorFields文件夹复制到C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons目录下,此步骤可根据blender安装的位置自行调整,只要放入addon

wychao2020的博客 1725

密码学:一文看懂Base64算法

Base64常常在我们开发中出现,我们可能只知道它是一串乱码(看不懂的符号),知道有时候知道我们需要把一些数据进行base64编码,有时候需要进行Base64解码。但是却不知道它的作用是什么?它存在的意义是什么?还有它是如何生成的?如何编码和解码?上述的疑问相信在你读完本篇文章之后烟消云散。下面开始正文。Base64是什么?它和加密解密操作有什么关系吗?没错,这就是经过Base64编码后的字符串。对它解码后,我们获得以下内容点个关注,是对我持续创作的最大的鼓励!

Shujie 1万+

HTML金色流星雨(完整代码)

HTML实现金色流星雨动态效果的完整代码。

AIGC 992

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

上一篇: Qt动画:透明度渐变——用QPropertyAnimation实现透明度效果
下一篇: Qt实现自定义控件属性设计器加载属性
普通网友
博客等级 码龄3年 200粉丝 630原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值