4

我试图删除 QTableView 的所有选定索引,

现在我使用:

foreach (const QModelIndex & idx, model->selectionModel()->selectedIndexes())
{
    model->removeRow (idx.row()); // Obviously bug
}

有一个明显的问题,一旦你删除了行,行id就失效了,w

由于没有直接获取索引的函数(或者索引是否像迭代器一样在数据更改时失效?),我不知道该怎么做。

4

1 回答 1

9

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());

我希望它会有所帮助。

于 2012-10-19T09:02:28.553 回答