qt tablewidget 添加按钮
时间: 2023-11-02 07:06:39 浏览: 105
QT tablewidget样式与添加按钮进度条选择框.7z
5星 · 资源好评率100%
要在 Qt 的 TableWidget 中添加按钮,您可以使用自定义单元格小部件来实现。下面是一个简单的示例,其中在 TableWidget 中的每一行中添加了一个按钮。
```
// 创建自定义单元格小部件
class ButtonWidget : public QWidget
{
Q_OBJECT
public:
explicit ButtonWidget(QWidget *parent = nullptr) : QWidget(parent)
{
button = new QPushButton("Button", this);
QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(button);
layout->setAlignment(Qt::AlignCenter);
layout->setContentsMargins(0, 0, 0, 0);
setLayout(layout);
}
QPushButton *button;
};
// 在 TableWidget 中使用自定义单元格小部件
QTableWidget *tableWidget = new QTableWidget(this);
tableWidget->setRowCount(4);
tableWidget->setColumnCount(2);
for(int i = 0; i < tableWidget->rowCount(); i++)
{
ButtonWidget *buttonWidget = new ButtonWidget(this);
tableWidget->setCellWidget(i, 0, buttonWidget);
}
```
在上面的示例中,我们首先创建了一个名为 `ButtonWidget` 的自定义单元格小部件,其中包含一个名为 `button` 的 `QPushButton`。然后,我们在 TableWidget 中的每一行中创建一个新的 `ButtonWidget` 实例,并将其添加到第一列中。
您可以通过在 `ButtonWidget` 类中添加信号和槽来处理按钮单击事件。例如,您可以将 `button` 的 `clicked` 信号连接到 `ButtonWidget` 类中的一个槽,然后在该槽中执行您想要的操作。
阅读全文