QTreeView使用总结1,一个简单示例
1,简介
本文为一个最简单的QTreeView初始化过程的示例。
除去了一切操作响应等细节,只是展示使QTreeView显示出带层次结构的数据,至少需要哪些代码。
只附带了一点点常用设置项。
2,效果
3,代码
一个QTreeView插入三层数据的最简单代码示例:
void MainWindow::InitTree()
{//1,构造Model,这里示例具有3层关系的model构造过程QStandardItemModel* model = new QStandardItemModel(ui->treeView);model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("序号") << QStringLiteral("名称")); //设置列头for(int i=0;i<5;i++){//一级节点,加入mModelQList<QStandardItem*> items1;QStandardItem* item1 = new QStandardItem(QString::number(i));QStandardItem* item2 = new QStandardItem(QStringLiteral("一级节点"));items1.append(item1);items1.append(item2);model->appendRow(items1);for(int j=0;j<5;j++){//二级节点,加入第1个一级节点QList<QStandardItem*> items2;QStandardItem* item3 = new QStandardItem(QString::number(j));QStandardItem* item4 = new QStandardItem(QStringLiteral("二级节点"));items2.append(item3);items2.append(item4);item1->appendRow(items2);for(int k=0;k<5;k++){//三级节点,加入第1个二级节点QList<QStandardItem*> items3;QStandardItem* item5 = new QStandardItem(QString::number(k));QStandardItem* item6 = new QStandardItem(QStringLiteral("三级节点"));items3.append(item5);items3.append(item6);item3->appendRow(items3);}}}//2,给QTreeView应用modelui->treeView->setModel(model);
}
4,说明
可以看到,要使一个QTreeView能够显示数据,需要构造一个model并设置给QTreeView。
Qt提供了一些类型的Model,其中最常用的就是这个QStandardItemModel类,一般可以满足大部分需求。
另外,表头的内容也由这个model管理,setHorizontalHeaderLabels 函数可以设置共有多少列、每列文字。
一级节点直接使用 appendRow 方法添加到model上,次级节点则是添加到第一个父级节点上,依次构成父子关系树。
5,源码下载
链接:https://pan.baidu.com/s/12S5_vAw_YM7qdT_p3r5WFA
提取码:oeas
网盘若失效,可在群文件下载:
群号码:1149411109 (若满加2群:917341904)
群名称:Qt实战派学习群
QTreeView使用总结1,一个简单示例相关推荐
- java播放声音类和一个简单示例
java播放声音类和一个简单示例 播放声音的类 复制代码 代码如下: import java.io.File; import java.io.IOException; import javax.so ...
- Kerberos工作流:一个简单示例
说明:内容来自<Hadoop安全-大数据平台隐私保护>,此处记录仅是便于快速回顾. 现在通过一个工作流示例,展示 Kerberos 大概是怎么工作的.首先定义所有出现的组件. EXAMPL ...
- java制作一个简单的画板_【Java】Thymeleaf一个简单示例
Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...
- IoC容器Autofac(2) - 一个简单示例(附demo源码)
上篇文章中(IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc),我们用自己的方式实现了一个简陋的工厂类来实现IoC. 这里我们尝试使用Auotfac来替换我们的工厂类Mov ...
- 分形技术的一个简单示例——雪花图案(AS3实现)
分形的概念看这里 这里用AS3实现一个动态绘制雪花图案的功能 你只要在界面用鼠标拖动,就会妙笔生雪花 import flash.display.Sprite; import flash.events. ...
- 一个简单示例 利用jawin完成调用window中dll的调用
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 最近由于 ...
- 字符串的前缀与后缀和简单示例程序win32版
定义: 字符串的前缀:符号串左部的任意子串(或者说是字符串的任意首部) 字符串的后缀:符号串右部的任意子串(或者说是字符串的任意尾部) 举例 比如说有一个长度为5字符串 x = "ababc ...
- 《Python Cookbook 3rd》笔记(2.19):实现一个简单的递归下降分析器
实现一个简单的递归下降分析器 问题 你想根据一组语法规则解析文本并执行命令,或者构造一个代表输入的抽象语法树.如果语法非常简单,你可以自己写这个解析器,而不是使用一些框架. 解法 在这个问题中,我们集 ...
- disruptor简单示例
我们通过一个简单示例来演示disruptor的使用 1.生产者和消费者操作的数据 Person.java ======================== public class Person { ...
最新文章
- Gartner:为什么元宇宙商业离我们还很遥远?
- makefile中的零星知识点
- java IO(输入输出) 字符流
- C#中实现鼠标拖动窗体的方法
- 黄褐斑的处理(转载)
- “您的Microsoft Internet Explorer浏览器包含最新版本的内置Adobe Flash Player“解决
- 使用ASP.NET Core 实现Docker的HealthCheck指令
- 是圆的问题呢(洛谷P1652题题解,Java语言描述)
- Sql中partition by的使用
- zookeeper安装和使用
- 对reids 服务器性能测试
- sql除外语句_SQL除外
- [IE编程] IE8的SDK 下载
- mongodb添加登陆验证
- 中国电信业的魔咒:第四运营商之梦
- SPSS:主成分分析确定不同指标权重
- OSError: could not get source code
- 对象base64转码_Base64编码转换
- STM32--vs1053 WAV录音实现(保存在SD卡)
- 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(4)——无限猴子定理