查看完整版本: [-- 关于QListWidget --]

QTCN开发网 -> Qt中文处理 -> 关于QListWidget [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

心雨星晴jay 2014-02-12 11:23

关于QListWidget

在两个ListWidget中,选中A中的多项,通过按钮添加到B中,但B中如果已经存在部分项,怎样不添加已经存在的?
还有怎样删除选中的多项?

心雨星晴jay 2014-02-12 13:30
求帮助!

心雨星晴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));
解决问题。

心雨星晴jay 2014-02-12 15:17
在添加选中行部分,添加时,修改了选中项的字符串内容,怎样检测已经存在了,而不能再次添加呢?


查看完整版本: [-- 关于QListWidget --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled