需要       #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. 【Python开发】查看数据类型

    import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is i ...

  2. 【VS开发】static、extern分析总结

    引用请注明出处:http://blog.csdn.net/int64ago/article/details/7396325 对于写了很多小程序的人,可能static和extern都用的很少,因为sta ...

  3. 蓝鲸 修改主机名重装后初始化不了cmdb安装不了job + 数据采集流程

    1.表象:在部署蓝鲸JOB过程中需要进行RabbitMQ的安装,数据初始化,激活步骤,此问题多发生在此过程 [ root@rbtnodel install)# ./bkcec initdata rab ...

  4. Java中流的操作练习

    文件中的学生信息 学生信息存储在TXT文件中,我们需要对信息进行基本的,增.删.改.查,全部显示操作. 1.学生类/Student package com.yujiao.student; public ...

  5. [Bzoj1001][BeiJing2006]狼抓兔子(网络流/对偶图)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1001 看到大佬们都是对偶图过的,写了个最大流水过去了QAQ,网络流的无向图直接建双向边( ...

  6. SQL之事务

    ●事务的ACID(acid)属性 ➢1.原子性(Atomicity ) 原子性是指事务是-一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. ➢2. 一致性(Consistency) 事务 ...

  7. c++学习笔记之类和对象(一、类定义)

    类和对象是 C++ 的重要特性,它们使得 C++ 成为面向对象的编程语言. 类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量:创建对象的过程也叫类的实例化.每个对象都是类的一个 ...

  8. Django之自定义标签,过滤器,以及inclusion_tag

    目录 Django之自定义标签,过滤器,以及inclusion_tag 自定义过滤器 自定义标签 inclusion_tag inclusion_tag() 项目实例: inclusion_tag() ...

  9. 使用git保存管理代码

    1.git是个代码版本管理软件,类似SVN github是个网站,提供git服务,我们只需要注册个账号,就可以使用它的git服务,不需要自己部署git系统 git需要先在电脑端安装,安装完成后,讲产生 ...

  10. 第一个SpringMVC程序

    1.创建工程 2.导入依赖 3.编写配置文件(web.xml) 配置了SpringMVC的入口: 4.SpringMVC的配置文件 路径:默认情况下,在目录下找这个文件:/WEB-INF/{servl ...