龙空技术网

Qt5树形控件QTreeWidget

QT高级进阶 312

前言:

而今咱们对“js树控件”大致比较关怀,看官们都想要剖析一些“js树控件”的相关资讯。那么小编也在网摘上网罗了一些有关“js树控件””的相关文章,希望朋友们能喜欢,各位老铁们一起来了解一下吧!

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

#include "win.h"#include <QDebug>#include <QPushButton>Win::Win(QWidget *parent)    : QWidget(parent){    this->resize(500,400);    QPushButton* btn=new QPushButton("按钮",this);    btn->move(400,350);    connect(btn,&QPushButton::clicked,this,&Win::A);    tw=new QTreeWidget(this);  // 创建一个树形控件    tw->move(10,10);    tw->setColumnCount(2); //设置列数    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(0,twi2);  //插入顶层项目    //参数1 索引号    twi2->setCheckState(0,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(1);  //返回项目指定列的文本--参数项目的列序号qDebug()<<str;}Win::~Win(){}void Win::A(){}

标签: #js树控件