Мне нужно удалить элемент 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
и получите строки, которые вы хотите удалить. Я думаю, что вы должны просмотреть содержимое, сравнить текст каждого элемента, а затем удалить те, которые соответствуют. Возможно, вы захотите сделать цикл в обратном порядке; в противном случае после удаления элемента счетчик цикла больше не будет соответствовать номерам строк элемента списка.
Других решений пока нет …