一、效果
二、設計思路
三、概略代碼
//============= 第一層QTreeWidget ==================//
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//擷取頂級節點
QTreeWidgetItem *parentItem = ui->treeWidget->topLevelItem(0);
//建立子節點
QTreeWidgetItem *newItem = new QTreeWidgetItem(parentItem);
//設定子節點跨越所有列(PS:否則它的寬度隻有第一列的寬度)
newItem->setFirstColumnSpanned(true);
//初始化 待嵌套的 widget
CustomWidget *widget = new CustomWidget(this);
//設定 QTreeWidget 嵌套 widget
ui->treeWidget->setItemWidget(newItem, 0, widget);
}
//============= 第二層QTreeWidget ==================//
```cpp
CustomWidget::CustomWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::CustomWidget)
{
ui->setupUi(this);
//擷取頂級節點
QTreeWidgetItem *parentItem = ui->treeWidget->topLevelItem(0);
//建立子節點
QTreeWidgetItem *newItem = new QTreeWidgetItem(parentItem);
//初始化 待嵌套的 widget(CustomTableWidget 上面放了一個 QTableView)
CustomTableWidget *widget = new CustomTableWidget(this);
//設定 QTreeWidget 嵌套 widget
ui->treeWidget->setItemWidget(newItem, 0, widget);
}