需要       #include <QTreeWidget>               #include <QTreeWidgetItem>

#include "win.h"
#include <QDebug>
#include <QPushButton> Win::Win(QWidget *parent)
: QWidget(parent)
{
this->resize(,); QPushButton* btn=new QPushButton("按钮",this);
btn->move(,);
connect(btn,&QPushButton::clicked,this,&Win::A); tw=new QTreeWidget(this); // 创建一个树形控件
tw->move(,);
tw->setColumnCount(); //设置列数
tw->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍"); //设置头部标签 QTreeWidgetItem* twi=new QTreeWidgetItem(QStringList()<<"力量"); //创建项目
tw->addTopLevelItem(twi); //添加一个顶层项目
QTreeWidgetItem* twi1=new QTreeWidgetItem(QStringList()<<"敏捷");
tw->addTopLevelItem(twi1);
QTreeWidgetItem* twi2=new QTreeWidgetItem(QStringList()<<"智力");
tw->insertTopLevelItem(,twi2); //插入顶层项目
//参数1 索引号
twi2->setCheckState(,Qt::PartiallyChecked); // 给项目设置复选框
//参数1 复选框的位置 列序号
//Qt::Unchecked 没选中
//Qt::Checked 选中
//Qt::PartiallyChecked 部分选中 QTreeWidgetItem* li1=new QTreeWidgetItem(QStringList()<<"钢珠"<<"前排坦克,能吸引伤害");
QTreeWidgetItem* li3=new QTreeWidgetItem(QStringList()<<"铁柱"<<"后排坦克,能吸引伤害");
twi->addChild(li1) ;//给项目添加子项
twi->addChild(li3); connect(tw,&QTreeWidget::itemClicked,this,&Win::B); //单击项目触发的信号
//这个信号会自动传递两个参数:参数1就是被单击的项目指针;参数2就是单击的列序号 connect(tw,&QTreeWidget::itemDoubleClicked,this,&Win::C); //双击项目触发的信号
//这个信号会自动传递两个参数:参数1就是被单击的项目指针;参数2就是单击的列序号 connect(tw,&QTreeWidget::currentItemChanged,this,&Win::D); //当前项目变化时触发信号
//这个信号会自动传递两个参数:参数1就是当前项目指针;参数2就是前一项目指针 tw->expandAll();//让所有的项都是以打开状态显示的
//注意必须要在所有项都已经实例化好之后再调用该方法,如果一开始就调用则会没有效果 }
void Win::D(QTreeWidgetItem *current, QTreeWidgetItem *previous){
qDebug()<<"当前项目变化了:"<<current<<previous;
}
void Win::C(QTreeWidgetItem *item, int column){
qDebug()<<"双击了项目:"<<item<<column;
}
void Win::B(QTreeWidgetItem *item, int column){
qDebug()<<"单击了项目:"<<item<<column;
QTreeWidgetItem* pi=item->parent(); //返回指定项目的父项目指针
//顶层项目的指针是0x0--NULL //int col = pi->indexOfChild(item); //item在父项中的行号(从0开始)
//【注意:item不能是顶层项目--否则崩溃】 QTreeWidgetItem* curItem=tw->currentItem(); //获取当前项目指针
QString str=curItem->text(); //返回项目指定列的文本--参数项目的列序号 qDebug()<<str;
} Win::~Win()
{ } void Win::A(){ }

实例下载地址:https://share.weiyun.com/5BhTQXr

qt5--树形控件QTreeWidget的更多相关文章

  1. 树形控件QTreeWidget

    import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidge ...

  2. Qt树形控件QTreeView使用1——节点的添加删除操作 复选框的设置

    QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有m ...

  3. js树形控件—zTree使用总结

    0 zTree简介 树形控件的使用是应用开发过程中必不可少的.zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 0.0 ...

  4. 关于 DevExpress.XtraTreeList.TreeList 树形控件 的操作

    作为一个C#程序员,在写程序时一直以来都使用的微软那一套控件,用起来特别爽,可是最近公司的一个项目用到了DevExpress框架,不用不知道,一用吓一跳,不得不承认这个框架确实很强大,效果也很炫,但是 ...

  5. 基于Bootstrap的JQuery TreeView树形控件,数据支持json字符串、list集合(MVC5)<二>

    上篇博客给大家介绍了基于Bootstrap的JQuery TreeView树形控件,数据支持json字符串.list集合(MVC5)<一>, 其中的两种方式都显得有些冗余.接着上篇博客继续 ...

  6. js树形控件

    js树形控件 ztree http://www.treejs.cn/

  7. TreeView树形控件递归绑定数据库里的数据

    TreeView树形控件递归绑定数据库里的数据. 第一种:性能不好 第一步:数据库中查出来的表,字段名分别为UNAME(显示名称),DID(关联数据),UTYPE(类型) 第二步:前台代码 <% ...

  8. Devexpress treelist 树形控件 实现带三种状态的CheckBox

    树形控件是使用频率很高的一种控件.对于属性控件往往需要下面两个功能 1.TreeList带有CheckBox,并且节点要有三种状态(所有的子节点都选中,所有的子节点都没选择,一部分子节点选中).使用 ...

  9. SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题

    转:http://blog.csdn.net/miragesky2049/article/details/7204882 SharePoint2010沙盒解决方案基础开发--关于TreeView树形控 ...

随机推荐

  1. NOIp2018D1T1 积木大赛 【思维】

    题目传送门 感觉不是很难,但是需要一些思考... 可以发现,贪心地向尽量大的区间添加,但是存在一些比较小的数,它们不需要再加了,就会从那个地方断成两个区间.所以刚开始想到的做法就是统计每一种数的数量, ...

  2. 【Linux开发】linux设备驱动归纳总结(六):2.分享中断号

    linux设备驱动归纳总结(六):2.分享中断号 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  3. TCP和SSL TCP应用

    TCP和SSL TCP应用 对于普通开发者而言编写TCP应用通讯是一件相对复杂的工作,毕竟需要一系列的bytes操作:如果再针对SSL的安全性处理相信会把很多普通开发者拒之门外.为了简化这一问题Bee ...

  4. selenium-server--chromedriver环境

    x 准备环境: 1.selenium-server-standalone-3.8.1.jar 2.chromedriver.exe 一.查看本地电脑chrome浏览器版本信息: 二.访问代理地址:ht ...

  5. kafka的错误日志log监控

    例如:需要监控下面的日志中的error 日志文件是这个 /data1/confluent-5.2.2/logs/connect/kafka-connect.log 1/ 参考上一篇安装zabbix_a ...

  6. 【新功能前瞻】SpreadJS 纯前端表格控件V12.2:打印增强、拖拽填充等六大特性

    新版本来袭:葡萄城 SpreadJS 纯前端表格控件的全新版本 V12.2 将于8月正式发布! 作为一款备受华为.招商银行.中国平安.苏宁易购等行业专家和前端开发者认可的纯 JavaScript 电子 ...

  7. 【DP 好题】Kick Start 2019 Round C Catch Some

    题目链接 题目大意 在一条数轴上住着 $N$ 条狗和一个动物研究者 Bundle.Bundle 的坐标是 0,狗的坐标都是正整数,可能有多条狗住在同一个位置.每条狗都有一个颜色.Bundle 需要观测 ...

  8. # 解决MongoDB突然无法连接的问题

    解决MongoDB突然无法连接的问题 使用命令,加上路径sudo mongod --dbpath=/var/lib/mongodb 这种情况一般是上一次使用的时候没有正常关闭数据库,正常启动:mong ...

  9. cut,sort,awk,sed,tr,find,wc,uniq在Linux中的用法

    cut语法cut [-bn] [file]cut [-c] [file]cut [-df] [file] -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志.-c ...

  10. neo4j allshortestpaths查询路径不准确问题

    同样是5年开发,年薪50万和年薪15万的差距在哪里-.>>> 基本语法 使用neo4j cypher查询语言的小伙伴都知道cypher提供了两个查询最短路径的特殊函数shortest ...