• 4585阅读
  • 3回复

[提问]关于QListWidget [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 楼主  发表于: 2014-02-12
在两个ListWidget中,选中A中的多项,通过按钮添加到B中,但B中如果已经存在部分项,怎样不添加已经存在的?
还有怎样删除选中的多项?

只看该作者 1楼 发表于: 2014-02-12
求帮助!

只看该作者 2楼 发表于: 2014-02-12
删除的我已经完成了,就是自己的方法删除的话,删不对行。如果光标停在选中的最后一行的话,删除结果正确、如果停在最上边一行的话,结果不对。我自己的写法:
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));
解决问题。

只看该作者 3楼 发表于: 2014-02-12
在添加选中行部分,添加时,修改了选中项的字符串内容,怎样检测已经存在了,而不能再次添加呢?
快速回复
限100 字节
 
上一个 下一个