qt QTableView删除选中行
时间: 2023-07-13 19:30:02 浏览: 511
QTableView添加QCheckBox、QPushButton及右键菜单
您可以使用QTableView的selectionModel()方法来获取选中行的模型,然后使用model()方法获取QAbstractItemModel模型,进而对选中行进行删除操作。以下是一个示例代码:
```cpp
// 获取选中行的模型
QModelIndexList selected_indexes = ui->tableView->selectionModel()->selectedRows();
// 获取QAbstractItemModel模型
QAbstractItemModel *model = ui->tableView->model();
// 从后往前删除选中行
for (int i = selected_indexes.count() - 1; i >= 0; i--)
{
model->removeRow(selected_indexes.at(i).row());
}
```
在上述代码中,我们首先使用selectionModel()获取选中行的模型,然后使用model()方法获取QAbstractItemModel模型。然后我们从后往前遍历选中的行,并使用removeRow()方法删除每一行。
该代码可以实现删除单行和多行的功能。
阅读全文