0

我需要通过文本内容删除一个 qlistwidget 项目

我试过了:

QString mstring =  "Programmer II";

QList<QListWidgetItem *> items = ui->listJobs->findItems(mstring,  Qt::MatchExactly);
    if (items.size() > 0)
        ui->listJobs->takeItem( ui->listJobs->currentRow() );

...和各种排列,但我错过了一些东西。上面的代码编译,但不会从 qlistwidget 中删除项目。

4

1 回答 1

1

该代码没有指示值currentRow是什么,但findItems没有设置它,因此它不太可能与您尝试删除的值相关。我看不到任何使用结果findItems并获取要删除的行的方法。我认为您必须遍历内容,比较每个项目的文本,然后删除匹配的内容。您可能希望以相反的顺序执行循环;否则,一旦您删除了一个项目,循环计数器将不再匹配列表项的行号。

于 2017-02-23T22:54:48.350 回答