可以使用 QTableWidget 的 removeRow() 函数来删除指定行,需要先根据 Item 获取对应的行号。
示例代码:
// 根据 item 删除一行
void deleteRowByItem(QTableWidget* tableWidget, QTableWidgetItem* item)
{
if (!tableWidget || !item) {
return;
}
int rowNum = tableWidget->row(item);
if (rowNum != -1) {
tableWidget->removeRow(rowNum);
}
}
调用方法:
// 创建 QTableWidget 并添加数据
QTableWidget* tableWidget = new QTableWidget();
tableWidget->setColumnCount(2);
tableWidget->setRowCount(3);
tableWidget->setItem(0, 0, new QTableWidgetItem("Tom"));
tableWidget->setItem(0, 1, new QTableWidgetItem("20"));
tableWidget->setItem(1, 0, new QTableWidgetItem("Jerry"));
tableWidget->setItem(1, 1, new QTableWidgetItem("18"));
tableWidget->setItem(2, 0, new QTableWidgetItem("Lucy"));
tableWidget->setItem(2, 1, new QTableWidgetItem("25"));
// 删除 Tom 这一行
QTableWidgetItem* item = tableWidget->item(0, 0);
deleteRowByItem(tableWidget, item);