我试图删除 QTableView 的所有选定索引,
现在我使用:
foreach (const QModelIndex & idx, model->selectionModel()->selectedIndexes())
{
model->removeRow (idx.row()); // Obviously bug
}
有一个明显的问题,一旦你删除了行,行id就失效了,w
由于没有直接获取索引的函数(或者索引是否像迭代器一样在数据更改时失效?),我不知道该怎么做。
有QPersistanceModelIndex
类保持索引的有效状态。我试过了,它似乎正在工作。
QList<QPersistentModelIndex> indexes;
foreach (const QModelIndex &i, ui->tableView->selectionModel()->selectedIndexes())
indexes << i;
foreach (const QPersistentModelIndex &i, indexes)
ui->tableView->model()->removeRow(i.row());
我希望它会有所帮助。