未添加 QListWidget 项(多项选择)

QListWidget item isn't added (Multiple Selection)

本文关键字:选择 QListWidget 添加      更新时间:2023-10-16

因此,鉴于以下将项目从一个lstWidget传输到另一个的代码,我似乎遇到了并非所有选定项目都被传输的问题。

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

这真的很奇怪,无法弄清楚我做错了什么。如果我选择多个项目,总有一些项目不会移动到另一个列表小部件。

不胜感激任何建议/反馈

执行takeItem后,indexes列表将变为无效。看看QPersistentModelIndex.

从我的角度来看,进行这种转移是不好的主意。我建议您将项目从一个列表复制到另一个列表,然后从第一个列表中删除选定的项目。