1 QTreeWidget
1.1 QTreeWidget简介
在 Qt 中的树形控件称为 QTreeWidget,而控件里的树形节点称为 QTreeWidgetItem。
实现的功能:
- 创建树形控件,当选中顶层树形节点时,子节点全部选中。
- 部分选中状态:当选中部分子节点时,顶层树形节点处于灰色未全部选中状态。
- 当子节点全部选中,顶层节点变为选中状态。
源文件如下:
#include "widget.h"
#include "ui_widget.h"
#include <qdebug.h>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
init();
connect(ui->treeWidget,SIGNAL(itemChanged(QTreeWidgetItem*,int)),
this,SLOT(treeItemChanged(QTreeWidgetItem*,int)));
}
Widget::~Widget()
{
delete ui;
}
void Widget::init()
{
ui->treeWidget->clear(); //初始化树形控件
//定义第一个树形组
QTreeWidgetItem* group1 = new QTreeWidgetItem(ui->treeWidget);
group1->setText(0,"水果"); //树形控件显示的文本信息
group1->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); //设置树形控件子项的属性
group1->setCheckState(