删除QListView中的所选项列表

Yur*_*ury 6 c++ model-view-controller qt4 qlistview

如何在QT 4.6中的QListView中删除所选项目的列表.这样的东西不起作用,迭代器变得无效:

  QModelIndexList indexes = ui.listview_files->selectionModel()->selectedIndexes();
  foreach(QModelIndex index, indexes)
  {
    model->removeRow(index.row());
  }
Run Code Online (Sandbox Code Playgroud)

removeRows也不合适,它会删除跟随给定的N项.我使用QStandardItemModel来存储项目.

sje*_*397 8

QModelIndexList indexes;
while((indexes = ui.listview_files->selectionModel()->selectedIndexes()).size()) { 
    model->removeRow(indexes.first().row()); 
}
Run Code Online (Sandbox Code Playgroud)