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

406
03 июля 2022, 01:50

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

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

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

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

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;
READ ALSO
Как записать вектор в бинарный файл?

Как записать вектор в бинарный файл?

В чём разница между следующими записями? Как правильно записать вектор в бинарный файл?

298
Я хочу сменить терминал для вывода codeblocks (cmd) на windows Terminal? Как это сделать? Свойство заблокировано(

Я хочу сменить терминал для вывода codeblocks (cmd) на windows Terminal? Как это сделать? Свойство заблокировано(

CodeBlocks по умолчанию все выводит в cmd но я хочу чтобы он выводил сообщения в более удобный для меня терминал - Windows Terminal, но свойство смены терминала...

336