Как я могу получить индексы QListWidget::selectedItems()?
Я имею QListWidget
и мне нужно получить индексы выбранных предметов. (Я мог бы работать с элементами в списке по значениям, но у меня есть std::vector
который содержит некоторые объекты для каждого элемента в списке, и мне также нужно удалить их из него.) Есть функция indexFromItem
но он защищен (?), поэтому я не могу его использовать.
Есть идеи?
QList<QListWidgetItem *> itemList = lw1->selectedItems();
1 ответ
Вы можете использовать возможно:
list->selectionModel()->selectedIndexes()
куда list
это пример QListWidget
,
Не уверен, что он возвращает именно то, что вы ищете.
Из документации:
Возвращает список всех выбранных индексов модели. Список не содержит дубликатов и не отсортирован.
QListWidget
имеет метод с именем selectedIndexes
также, но это защищенный, поэтому вы должны использовать такой хитрый способ, чтобы получить их.
Я не уверен, что это правильный путь, но это работает для меня:
void ScannerWindow::on_ipList_itemDoubleClicked(QListWidgetItem *item)
{
qDebug() << ui->ipList->row(item);
}
где ui->ipList
это QListWidget