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

Qt手写ListView

创建视图:

QHBoxLayout* pHLay = new QHBoxLayout(this);m_pLeftTree = new QTreeView(this);m_pLeftTree->setEditTriggers(QAbstractItemView::NoEditTriggers);  //设置不可编辑m_pLeftTree->setFixedWidth(300);

创建模型和模型项:

m_pLeftTree->setFrameShape(QFrame::NoFrame);QStandardItemModel* model = new QStandardItemModel(m_pLeftTree);model->setHorizontalHeaderLabels(QStringList() << "draw all");QStandardItem* pParentItem = NULL;QStandardItem* pChildItem = NULL;// 点pParentItem = new QStandardItem(QIcon(":/resources/point.png"), "draw ponit");model->appendRow(pParentItem);//将父项加入ModelpChildItem = new QStandardItem(QIcon(":/resources/point.png"), "point");pParentItem->appendRow(pChildItem);//将子项加入父节点pChildItem = new QStandardItem(QIcon(":/resources/multipoints.png"), "multipoints");pParentItem->appendRow(pChildItem);// 线pParentItem = new QStandardItem(QIcon(":/resources/line.png"), "draw line");model->appendRow(pParentItem);pChildItem = new QStandardItem(QIcon(":/resources/line.png"), "line");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/arc.png"), "arc");pParentItem->appendRow(pChildItem);// 封闭的图形pParentItem = new QStandardItem(QIcon(":/resources/rect.png"), "draw rect");model->appendRow(pParentItem);pChildItem = new QStandardItem(QIcon(":/resources/rect.png"), "rect");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/roundrect.png"), "roundrect");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/chord.png"), "chord");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/ellipse.png"), "ellipse");pParentItem->appendRow(pChildItem);// 任意路径绘制pParentItem = new QStandardItem(QIcon(":/resources/polygon.png"), "draw polygon");model->appendRow(pParentItem);pChildItem = new QStandardItem(QIcon(":/resources/polygon.png"), "polygon");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/polyline.png"), "polyline");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/ConvexPloygon.png"), "ConvexPloygon");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/lines.png"), "lines");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/path.png"), "path");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/pie.png"), "pie");pParentItem->appendRow(pChildItem);// 图片绘制pParentItem = new QStandardItem(QIcon(":/resources/image.png"), "draw image");model->appendRow(pParentItem);pChildItem = new QStandardItem(QIcon(":/resources/image.png"), "image");pParentItem->appendRow(pChildItem);pChildItem = new QStandardItem(QIcon(":/resources/pixmap.png"), "pixmap");pParentItem->appendRow(pChildItem);// 文本绘制pParentItem = new QStandardItem(QIcon(":/resources/text.png"), "draw text");model->appendRow(pParentItem);// 擦除pParentItem = new QStandardItem(QIcon(":/resources/erase.png"), "draw erase");model->appendRow(pParentItem);// 路径填充pParentItem = new QStandardItem(QIcon(":/resources/fillpath.png"), "draw fillpath");model->appendRow(pParentItem);// 矩形填充pParentItem = new QStandardItem(QIcon(":/resources/fillrect.png"), "draw fillrect");model->appendRow(pParentItem);

效果如下:

相关文章:

  • dom api
  • Unity中Shader的Standard材质解析(二)
  • 媒体格式转换软件Permute 3 mac中文版软件特点
  • C百题--7.输出乘法表
  • 【RocketMq系列-02】RocketMq的架构解析和高性能设计
  • Linux每日智囊
  • 第二类曲线积分@对坐标的曲线积分
  • 学习笔记,http协议1.0,1.1,2.0之间的差别
  • macos端文件夹快速访问工具 Default Folder X 最新for mac
  • 【数据结构】B : DS图应用--最短路径
  • Windows任务管理器内存性能界面各个参数含义
  • 【操作系统】线程的状态
  • OpenCV将两张图片拼接成一张图片
  • 有了倾斜摄影,如何搭建一座智慧城市?
  • CMakeLists.txt:打印find_package变量;判断库文件路径设定是否正确;install文件设置
  • Android开源项目规范总结
  • Docker下部署自己的LNMP工作环境
  • Git学习与使用心得(1)—— 初始化
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • java8-模拟hadoop
  • javascript面向对象之创建对象
  • java多线程
  • JAVA之继承和多态
  • Just for fun——迅速写完快速排序
  • Mysql数据库的条件查询语句
  • Promise初体验
  • python_bomb----数据类型总结
  • Redis在Web项目中的应用与实践
  • vue:响应原理
  • 彻底搞懂浏览器Event-loop
  • 飞驰在Mesos的涡轮引擎上
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 将 Measurements 和 Units 应用到物理学
  • 坑!为什么View.startAnimation不起作用?
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 前端性能优化——回流与重绘
  • 收藏好这篇,别再只说“数据劫持”了
  • 算法系列——算法入门之递归分而治之思想的实现
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (1)虚拟机的安装与使用,linux系统安装
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (23)Linux的软硬连接
  • (c语言)strcpy函数用法
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (javascript)再说document.body.scrollTop的使用问题
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (笔记自用)LeetCode:快乐数
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (转)ABI是什么
  • (转)Scala的“=”符号简介
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .CSS-hover 的解释