Как удалить все выбранные элементы в QListWidget?

QListWidget:: selectedItems возвращает список QListWidgetItem, но единственная функция для удаления найденного элемента-takeItem, которая принимает только индексы, а функция selectedIndexes защищена.

3 ответов


попробовать

qDeleteAll(listWidget->selectedItems());

выполните итерацию через SelectedItemsList:

QList<QListWidgetItem *> itemList = widget->selectedItems();
for (int i=0; i<itemList.size(); i++) {
     widget->takeItem(widget->indexFromItem(itemList[i]));
}

Я думаю

widget->removeItemWidget(itemList[i]);

также может работать


ui - >listWidget - >очистить(); сделаем qt5 от