以下是一份示例代码,实现了在QTreeWidget中设置自定义界面的Item,并且让Item居中对齐和与父级节点对齐。同时,将父级节点显示箭头。
// 创建一个 QTreeWidget
QTreeWidget *treeWidget = new QTreeWidget(this);
// 设置 QTreeWidget 根节点的属性
treeWidget->setColumnCount(1);
treeWidget->setHeaderHidden(true);
// 创建一个 QWidget 作为自定义 Item 的容器
QWidget* itemWidget = new QWidget();
itemWidget->setFixedHeight(50); // 设置高度
// 在 itemWidget 中添加需要显示的控件
QLabel* label = new QLabel("Hello World", itemWidget);
label->setAlignment(Qt::AlignCenter); // 将 Label 居中对齐
// 创建一个 QTreeWidgetItem 并将 itemWidget 设置为其控件
QTreeWidgetItem* item = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Item")));
treeWidget->addTopLevelItem(item);
treeWidget->setItemWidget(item, 0, itemWidget);
// 设置 item 与父节点对齐
item->setData(0, Qt::AlignVCenter, Qt::UserRole);
// 显示根节点的箭头
treeWidget->setRootIsDecorated(true);