其实非常简单,就在新new qtreewidgetitem对象时setCheckState(0,Qr::Checked)和setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnable|Qt::ItemIsSelectable|Qt::ItemIsTrisate)两个值就可以了
其中最重要的是Qt::ItemIsTrisate,为复选框多级联动状态
QTreeWidget *a=new QTreeWidget(this);
QTreeWidgetItem *b=new QTreeWidgetItem(a);
b->setText(0,QString::fromLocal8Bit("我是b节点");
b->setCheckState(0,Qt::Checked);
b->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnable|Qt::ItemIsSelectable|Qt::ItemIsTrisate);
b->setExpanded(true);//默认展开全部
关于怎么设置复选框后,如何响应勾选状态,可以参考这位大佬的文章:QTreeWidget勾选QTreeWidgetItem的处理