心雨星晴jay |
2014-02-12 15:16 |
删除的我已经完成了,就是自己的方法删除的话,删不对行。如果光标停在选中的最后一行的话,删除结果正确、如果停在最上边一行的话,结果不对。我自己的写法: QList<QListWidgetItem *> list1 = ui->chooseListWidget->selectedItems(); QList<QListWidgetItem *>::const_iterator i;
for (i = list1.constBegin(); i < list1.constEnd(); i++) { QListWidgetItem *delitem = new QListWidgetItem(*(*i)); if (delitem) { int row = ui->chooseListWidget->currentRow(); //这个应该是问题所在吧 ui->chooseListWidget->takeItem(row); } }
高手交给我的方法: QList<QListWidgetItem *> list1 = ui->chooseListWidget->selectedItems(); for (int i = 0; i < list1.size(); ++i) ui->chooseListWidget->takeItem(ui->chooseListWidget->row(list1)); 解决问题。 |
|