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,一个简单示例相关推荐

  1. java播放声音类和一个简单示例

    java播放声音类和一个简单示例 播放声音的类 复制代码 代码如下:  import java.io.File; import java.io.IOException; import javax.so ...

  2. Kerberos工作流:一个简单示例

    说明:内容来自<Hadoop安全-大数据平台隐私保护>,此处记录仅是便于快速回顾. 现在通过一个工作流示例,展示 Kerberos 大概是怎么工作的.首先定义所有出现的组件. EXAMPL ...

  3. java制作一个简单的画板_【Java】Thymeleaf一个简单示例

    Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...

  4. IoC容器Autofac(2) - 一个简单示例(附demo源码)

    上篇文章中(IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc),我们用自己的方式实现了一个简陋的工厂类来实现IoC. 这里我们尝试使用Auotfac来替换我们的工厂类Mov ...

  5. 分形技术的一个简单示例——雪花图案(AS3实现)

    分形的概念看这里 这里用AS3实现一个动态绘制雪花图案的功能 你只要在界面用鼠标拖动,就会妙笔生雪花 import flash.display.Sprite; import flash.events. ...

  6. 一个简单示例 利用jawin完成调用window中dll的调用

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 最近由于 ...

  7. 字符串的前缀与后缀和简单示例程序win32版

    定义: 字符串的前缀:符号串左部的任意子串(或者说是字符串的任意首部) 字符串的后缀:符号串右部的任意子串(或者说是字符串的任意尾部) 举例 比如说有一个长度为5字符串 x = "ababc ...

  8. 《Python Cookbook 3rd》笔记(2.19):实现一个简单的递归下降分析器

    实现一个简单的递归下降分析器 问题 你想根据一组语法规则解析文本并执行命令,或者构造一个代表输入的抽象语法树.如果语法非常简单,你可以自己写这个解析器,而不是使用一些框架. 解法 在这个问题中,我们集 ...

  9. disruptor简单示例

    我们通过一个简单示例来演示disruptor的使用 1.生产者和消费者操作的数据 Person.java ======================== public class Person { ...

最新文章

  1. Gartner:为什么元宇宙商业离我们还很遥远?
  2. makefile中的零星知识点
  3. java IO(输入输出) 字符流
  4. C#中实现鼠标拖动窗体的方法
  5. 黄褐斑的处理(转载)
  6. “您的Microsoft Internet Explorer浏览器包含最新版本的内置Adobe Flash Player“解决
  7. 使用ASP.NET Core 实现Docker的HealthCheck指令
  8. 是圆的问题呢(洛谷P1652题题解,Java语言描述)
  9. Sql中partition by的使用
  10. zookeeper安装和使用
  11. 对reids 服务器性能测试
  12. sql除外语句_SQL除外
  13. [IE编程] IE8的SDK 下载
  14. mongodb添加登陆验证
  15. 中国电信业的魔咒:第四运营商之梦
  16. SPSS:主成分分析确定不同指标权重
  17. OSError: could not get source code
  18. 对象base64转码_Base64编码转换
  19. STM32--vs1053 WAV录音实现(保存在SD卡)
  20. 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(4)——无限猴子定理

热门文章

  1. java package包和import 与class打包成jar文件
  2. java实现24点_求 JAVA 算24点的代码
  3. seo优化大纲之算法规则
  4. 体验世界上五十大开心事
  5. Java第四十八天,Jsp之Taglib,自定义标签详解
  6. 自适应控制学习——MIT自适应律
  7. 联想 YOGA 智能眼镜 T1 评测
  8. java波斯王子武者之心,波斯王子武者之心
  9. 2022年4月16日,第9天
  10. Tiled使用教程(游戏地图制作)