按文本内容删除 QListWidget 项
Delete QListWidget item by text content
我需要通过文本内容删除一个 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 中删除该项目。
该代码未指明 currentRow
的值是什么,但 findItems
未设置它,因此它不太可能与您尝试删除的值相关联。我看不到有任何方法可以使用 findItems
的结果并获取要删除的行。我认为你必须遍历内容,比较每个项目的文本,然后删除匹配的。您可能希望以相反的顺序执行循环;否则,一旦您删除了一项,循环计数器将不再匹配列表项的行号。
我需要通过文本内容删除一个 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 中删除该项目。
该代码未指明 currentRow
的值是什么,但 findItems
未设置它,因此它不太可能与您尝试删除的值相关联。我看不到有任何方法可以使用 findItems
的结果并获取要删除的行。我认为你必须遍历内容,比较每个项目的文本,然后删除匹配的。您可能希望以相反的顺序执行循环;否则,一旦您删除了一项,循环计数器将不再匹配列表项的行号。