需要       #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. IP划分

      30.112.0.0 255.255.224.0/ 30.112.32.0 255.255.248.0 30.112.36.0 255.255.252.0 30.112.38.0 255.255. ...

  2. Nginx安装出现‘struct crypt_data’没有名为‘current_sal

    centos 安装nginx 时出现src/os/unix/ngx_user.c:26:7: 错误:‘struct crypt_data’没有名为‘current_sal 解决办法: 将系统换成版本低 ...

  3. C++学习笔记-模板

    模板把函数或类要处理的数据类型参数化,表现为参数的多态性,称为类属.模板用于表达逻辑结构相同,但具体数据元素类型不同的数据对象的通用行为. 什么是模板 类属--类型参数化,又称参数模板 使得程序(算法 ...

  4. 测试工具/PostMan

    1.postman测试上传文件

  5. mac sudo异常

    dsenableroot -d -u <your_admin_username> -p <your_password>  

  6. 【Spring 源码】Spring 加载资源并装配对象的过程(XmlBeanDefinitionReader)

    Spring 加载资源并装配对象过程 在Spring中对XML配置文件的解析从3.1版本开始不再推荐使用XmlBeanFactory而是使用XmlBeanDefinitionReader. Class ...

  7. [爬虫] BeautifulSoup库

    Beautiful Soup库基础知识 Beautiful Soup库是解析xml和html的功能库.html.xml大都是一对一对的标签构成,所以Beautiful Soup库是解析.遍历.维护“标 ...

  8. PostgreSQL unlogged表

    PostgreSQL有一种介于正常表和临时表之间的类型表,称之为unlogged表,在该表新建的索引也属于unlogged,该表在写入数据时候并不将数据写入到持久的write-ahead log文件中 ...

  9. Largest Number At Least Twice of Others

    In a given integer array nums, there is always exactly one largest element. Find whether the largest ...

  10. Configure脚本支持说明

    在Linux上安装Nginx需要执行Configure脚本,该脚本需要做一些参数说明: 选项 说明 --prefix=<path> 指定Nginx软件的安装路径,若不指定默认安装在/usr ...