1、在UI界面中拖TreeView控件进UI界面。

2、一般Qt中使用model来管理数据与视图的关系,使用delegate重写point()处理UI效果。

一、model

QT提供了一些现成的models用于处理数据项:
QStringListModel 用于存储简单的QString列表。
QStandardItemModel 管理复杂的树型结构数据项,每项都可以包含任意数据。
QDirModel提供本地文件系统中的文件与目录信息。 QSqlQueryModel,QSqlTableModel,QSqlRelationTableModel用来访问数据库。

qt提供以上的一些可用model,下面主要用QStandardItemModel。

1、创建model,指定父类

QStandardItemModel *model = new QStandardItemModel(ui->treeView);//创建模型指定父类
ui->treeView->setModel(model);

2、model里有表头,具体代码如下:

model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("1"));//一种方式
QStandardItem* item=new QStandardItem("2");//另一种方式
model->setHorizontalHeaderItem(1,item);

3、model分级效果如下:

model->setItem(0,0,new QStandardItem("one"));
model->item(0,0)->setChild(0,0,new QStandardItem("二级1"));
model->item(0,0)->setChild(1,0,new QStandardItem("二级2"));
model->setItem(1,0,new QStandardItem("two"));
model->item(1,0)->setChild(0,0,new QStandardItem("二级1"));

4、设置可选框

model->item(0,0)->setCheckable(true);
model->item(0,0)->setCheckState(Qt::Checked);
model->item(0,0)->child(0,0)->setCheckable(true);
model->item(0,0)->child(0,0)->setCheckState(Qt::Unchecked);
model->item(0,0)->child(1,0)->setCheckable(true);
model->item(0,0)->child(1,0)->setCheckState(Qt::Checked);

QT之QTreeView使用总结相关推荐

  1. Qt QTreeWidget/QTreeView去焦点(虚线框)

    Qt QTreeWidget/QTreeView去焦点(虚线框) QTreeWidget与QTreeView选中后会出现虚线框,也就是焦点. 解决方法一: QTreeView->setStyle ...

  2. QT笔记- QTreeView设置三态setAutoTristate() 树形视图自动复选框——源码分享

    说明 Qt中函数QStandardItem::setAutoTristate()无实际功能,仅作为一个布尔标记.若要实现自动三态复选框功能,需要自行代码构建. 本文通过编写两个派生类,完成了这个功能. ...

  3. QT中树控件QTreeView开发实例

    转自:http://mobile.51cto.com/symbian-268700.htm 本文讲解了QT中树控件QTreeView开发实例,对于QTreeView没有过多的讲解,那么不说废话了,看代 ...

  4. python界面设计实例qt_pyqt的最小示例qtreeview和qt设计

    我试图为qt设计器设计的应用程序获取一个最小的示例,其中pyqt涉及一个QTreeView 1)我可以用这种方式启动应用程序,但是如果我按下按钮,TreeView小部件中没有显示任何条目,我没有收到任 ...

  5. Qt工作笔记-在QTreeView上实现模型数据的拖拽

    运行截图如下: 逻辑是: 1.QTreeView开发拖拽功能. 2.在自定义模型中重写 flags(const QModelIndex &index) const mimeData(const ...

  6. Qt读写JSON,以及使用QTreeView展示和编辑JSON数据

    0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...

  7. Qt之使用QTreeView实现QQ好友列表

    一.效果 从效果图中可以看出,有以下特点: 1.悬浮滚动条 自定义半透明滚动条悬浮在Item之上,与原挤占Item宽度的滚动条效果相同 2.鼠标点击 双击Item,打开聊天对话框 单机视频通话图标,开 ...

  8. PyQt(Python+Qt)学习随笔:QTreeView树形视图的indentation属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的indentation属性用于控制视图中每级数据项之间的缩进,对于顶级项 ...

  9. PyQt5打开文件目录(QTreeView)并在QT界面输出文件目录并双击文件返回文件目录名

    最近发现了一个挺厉害的人工智能学习网站,内容通俗易懂,风趣幽默,感兴趣的可以点击此链接进行查看:床长人工智能教程 废话不多说,请看正文! 打开整个文件目录 直接打开电脑的各个文件目录.显示出c盘,d盘 ...

  10. Qt Style Sheets(qt样式表)

    我认为qt样式表对于专注于ui交互的人,其在qt的地位不亚于信号与槽的地位.通过qt样式表可以展示绝大部分你可以想象得到的风格. qt样式表的使用是先将要特例化的样式建立在后缀qss的文件中,在程序启 ...

最新文章

  1. windows10+Python3.7安装dlib库进行面部标志识别
  2. 【数据结构】邻接表的储存结构 建立图的邻接表算法
  3. rlwrap 让Linux下的sqlplus变得好用
  4. 浅谈Base64编码算法
  5. 统计信号处理_声学前端:深度学习算法和传统信号处理方法各有千秋
  6. Ubuntu 16.04下使用gcc输出汇编的.0文件为可执行文件时出现:`_start'被多次定义
  7. web 界面设计 Axure元件样式
  8. c++清空一个txt文本_Linux下常用文本处理命令大全
  9. BroadcastReceiver 广播机制详解
  10. (转:htk中命令行参数的读取)
  11. Android购物商城项目
  12. python - jpg图片转pdf
  13. 【卫星轨道】初步学习,零散知识点
  14. Gary Gygax的倒台,密切关注Linux端口等
  15. 阿里云MaxCompute 2019-7月刊
  16. 什么是大数据,大数据工具有那些,大数据流程是什么样的 一
  17. 神经网络预测值差很多,神经网络预测的局限性
  18. 重启打印服务Print Spooler bat脚本
  19. Origin 2018中文版软件下载和安装教程|兼容Win10(上)
  20. OpenAI掌门人Sam Altman:DALL·E 2 教会我的三件事!

热门文章

  1. 编译原理实验二 语法分析程序设计与实现
  2. 服务器协议密码,Radius协议 - 如何将密码发送到服务器?
  3. 微型计算机常常采用三种线结构,2016年河海大学929地理信息系统之地理信息系统概论考研复试题库...
  4. 软件架构师的沟通修炼
  5. PcShare2007 暗桩
  6. 小车--雷神、velodyne 雷达使用(IP)
  7. Real格式的影片如何分离、合并音频视频?
  8. Python3 百度图片 美女 下载 爬虫 多线程
  9. 2017.10.14晚,用迅雷下载大部分BT资源出现失败,tracker服务器被封了?FK
  10. 机器学习项目开发经验