c++qtableviewt获取选中行并删除该行数据
时间: 2023-10-22 10:03:36 浏览: 194
获取选中行可以通过QTableView的selectedIndexes()函数获取,该函数返回一个QModelIndexList类型的选中索引列表,然后可以通过QModelIndex的row()方法获取选中行的行号。删除行可以通过QAbstractItemModel的removeRow()函数进行,例如:
```c++
QModelIndexList selectedIndexes = tableView->selectedIndexes();
for (int i = 0; i < selectedIndexes.count(); i++)
{
QModelIndex index = selectedIndexes.at(i);
int row = index.row();
tableView->model()->removeRow(row);
}
```
这段代码会获取选中行的行号,然后通过model()函数获取QAbstractItemModel类型的数据模型,再调用removeRow()函数删除该行数据。注意,这里只删除了数据,如果需要同时删除界面上的显示,还需要调用QTableView的reset()或update()函数更新界面。
阅读全文