QListWidget项目未添加(多项选择)

时间:2014-08-02 07:13:26

标签: c++ qt

因此,鉴于以下代码将项目从一个lstWidget转移到另一个{I},我似乎遇到了一个问题,即并未转移所有选定的项目。

void winSample::on_btnMoveSingle_clicked()
{
   QModelIndexList indexes = (ui->lstImported->selectionModel()->selectedIndexes());
   foreach( QModelIndex index, indexes)
   {
       ui->lstSample->insertItem(ui->lstSample->count(),
       ui->lstImported->takeItem(index.row()));
   }
   updateView();
}

它真的很奇怪,无法弄清楚我做错了什么。如果我选择多个项目,总会有一些项目无法移动到另一个listWidget。

非常感谢任何建议/反馈

1 个答案:

答案 0 :(得分:0)

执行takeItem后,您的indexes列表无效。看看QPersistentModelIndex

从我的观点来看,进行此类转移是个坏主意。我建议您将项目从一个列表复制到另一个列表,然后从第一个列表中删除所选项目。