QTreeWidget内的QT Clickable小部件(可能是按钮)?

ula*_*ade 6 c++ qt

我有一个基本上是QTreeWidget的表,我想放一个可点击的小部件,可能还有一个按钮.每一行都是QTreeWidgetItem,但我看不出如何添加一个带有QTreeWidgetItem :: setData的按钮

tec*_*eaz 7

以下是对Qt文档中提供的用于QTreeWidget向第二个项目添加QPushButton 的示例的修改

 ui->treeWidget->setColumnCount(1);
 QList<QTreeWidgetItem *> items;
 for (int i = 0; i < 10; ++i)
    items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
 ui->treeWidget->insertTopLevelItems(0, items);

 ui->treeWidget->setItemWidget(items.value(1),0,new QPushButton("Click Me")); // Solution for your problem 
Run Code Online (Sandbox Code Playgroud)

对于项目中并排的两个按钮,您可以采用这种方法

QWidget *dualPushButtons = new QWidget();
QHBoxLayout *hLayout = new QHBoxLayout();
hLayout->addWidget(new QPushButton("Button1"));
hLayout->addWidget(new QPushButton("Button2"));
dualPushButtons->setLayout(hLayout);

ui->treeWidget->setItemWidget(items.value(1),0,dualPushButtons);
Run Code Online (Sandbox Code Playgroud)

您可以通过向按钮等添加属性来调整此功能.