qr c++怎么实现点击删除按钮 能够删除按钮所在QtableWidget所在行
要实现点击删除按钮能够删除按钮所在的QTableWidget行,可以通过信号槽机制实现。
首先,在按钮所在的单元格中创建一个按钮,并将其关联到一个槽函数。在槽函数中,可以通过sender()函数获取到发送信号的按钮,然后使用QTableWidgetItem的row()方法获取到按钮所在的行,最后使用removeRow()方法删除该行。
下面是一个简单的例子:
// 创建一个QTableWidget对象
QTableWidget *tableWidget = new QTableWidget(parent);
// 创建删除按钮
QPushButton *deleteButton = new QPushButton("删除");
deleteButton->setObjectName("deleteButton");
// 将按钮添加到QTableWidget的单元格中
tableWidget->setCellWidget(row, column, deleteButton);
// 槽函数:删除按钮点击事件的处理函数
void deleteButtonClicked()
{
// 获取发送信号的按钮
QPushButton *button = qobject_cast<QPushButton*>(sender());
// 获取按钮所在的行
int row = tableWidget->indexAt(button->pos()).row();
// 删除行
tableWidget->removeRow(row);
}
// 连接按钮的点击事件到槽函数
connect(deleteButton, &QPushButton::clicked, this, &deleteButtonClicked);
在上面的例子中,我们创建了一个QTableWidget对象,并向其中添加了一个删除按钮。通过setCellWidget()方法将按钮添加到QTableWidget的单元格中。
然后,我们创建了一个槽函数deleteButtonClicked()来处理删除按钮的点击事件。在槽函数中,我们首先通过sender()函数获取到发送信号的按钮,然后使用indexAt()方法获取到按钮所在的位置,再调用row()方法获取到按钮所在的行。最后,我们使用removeRow()方法删除该行。
最后,我们使用connect()函数将按钮的clicked信号连接到槽函数deleteButtonClicked(),从而实现删除按钮所在的行
原文地址: https://www.cveoy.top/t/topic/hUSb 著作权归作者所有。请勿转载和采集!