简体   繁体   English

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

[英]QT Clickable widget (possibly button) inside QTreeWidget?

I have a table that is basically a QTreeWidget and I want to put a clickable widget, possibly a button inside it. 我有一个基本上是QTreeWidget的表,我想放一个可点击的小部件,可能还有一个按钮。 Each row is a QTreeWidgetItem, but I don't see how I can add a button with QTreeWidgetItem::setData 每一行都是QTreeWidgetItem,但我看不出如何添加一个带有QTreeWidgetItem :: setData的按钮

Here is a modification to the example provided in Qt Documentation for QTreeWidget adding a QPushButton to the second item 以下是Qt Documentation为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 

For two push buttons side by side within an item,you can take this approach 对于项目中并排的两个按钮,您可以采用这种方法

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);

You can adapt this by adding properties to the buttons etc. 您可以通过向按钮等添加属性来调整此功能。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM