我试图删除QTableView的所有选定索引
现在我用:
foreach (const QModelIndex & idx, model->selectionModel()->selectedIndexes())
{
model->removeRow (idx.row()); // Obviously bug
}
有一个明显的问题,一旦你删除了行,行id就会失效,w
由于没有直接采用索引的函数(或者索引是否像迭代器那样在数据发生变化时会失效?),我不知道该怎么做。
答案 0 :(得分:8)
有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());
我希望它会有所帮助。