因此,鉴于以下代码将项目从一个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。
非常感谢任何建议/反馈
答案 0 :(得分:0)
执行takeItem
后,您的indexes
列表无效。看看QPersistentModelIndex
。
从我的观点来看,进行此类转移是个坏主意。我建议您将项目从一个列表复制到另一个列表,然后从第一个列表中删除所选项目。