QListWidget проверка на выделение

Как правильно организовать проверку на выделение какого-либо элемента QListWidget. В пример прилагаю мой QListWidget с таймерами - элементами списка.

Мой QListWidget

Моя тщетная попытка.

for(int i = 0; i < timers.size(); i++){
     if(listW->item(i)->isSelected())
         tmp = listW->item(i)->text(); 
} // По идее, если какой-то элемент выделен, он записывается в переменную tmp

Ответы (1 шт):

Автор решения: Sergey Tatarincev

Вы можете итерировать выбранные элементы или индексы:

QStringList selected;
QList<int> selectedRows;
// Можно получить текст из выделенных элементов
foreach (QListWidgetItem *wi, ui->listWidget->selectedItems())
    selected.append(wi->text());
qDebug()<<selected;

// или получить и текст и номер строки
selected.clear();
foreach (QModelIndex mi, ui->listWidget->selectionModel()->selectedIndexes()){
    selected.append(mi.data(Qt::DisplayRole).toString());
    selectedRows.append(mi.row());
}
qDebug()<<selected<<selectedRows;
→ Ссылка