需要       #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. 【AMAD】django-filer -- 一个管理文件和图片的django app

    动机 简介 个人评分 动机 django-filer1可以让你像一些云存储一样使用WEB UI控制你的文件. 简介 下面是前端图片:   个人评分 类型 评分 实用性 ⭐️⭐️⭐️⭐️ 易用性 ⭐ ...

  2. 【VS开发】OutputWnd自动滚动

    最近在尝试VS2010中的各种新鲜插件,首先从最简单的输出窗口入手. VS2010向导中产生的输出窗口是通过CMainFrame中的COutputWnd类的对象m_wndOutput生成的.为了向输出 ...

  3. python 爬虫 requests模块(response常用属性)

    response常用属性 content获取的response对象中的二进制(byte)类型的页面数据response.content 返回响应状态码response.status_code 200 ...

  4. 学习shell的第三天

    编程原理:1.编程介绍 早期编程:  驱动 硬件默认是不能使用的:   不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”:  更趋近与硬件开发的工程师,要学习“汇编语言”:而“汇 ...

  5. "alert(1) to win" writeup

    地址:http://escape.alf.nu/ level 0: 注意补全,");alert(1)// level 1: 通过添加反斜线使用来转义的反斜线变为字符,\");ale ...

  6. t-sql最短路径搜索

    SET STATISTICS IO ON; SET STATISTICS TIME ON; GO IF OBJECT_ID(N'dbo.t1') IS NOT NULL DROP TABLE dbo. ...

  7. Dubbo架构

    原文链接http://dubbo.apache.org 架构图 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务 ...

  8. ftp服务器上传下载共享文件

    1 windows下搭建ftp服务器 https://blog.csdn.net/qq_34610293/article/details/79210539 搭建好之后浏览器输入 ftp://ip就可以 ...

  9. BASH的保护性编程技巧

    BASH的保护性编程技巧   shell常用逻辑判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目 ...

  10. linux端口控制(开放-禁止)

    禁止访问80端口iptables -I INPUT -p tcp --dport 80 -j DROP 允许ip为192.168.1.1的机器访问iptables -I INPUT -p tcp -s ...