2016-06-02 13 views
1

У меня есть QListWidget, и мне нужно получить индексы выбранных предметов. (Я мог бы работать с элементами в списке по значениям, но у меня есть std::vector, который содержит некоторые объекты для каждого элемента в списке, и мне также необходимо удалить их из него.) Существует fucntion indexFromItem, но он защищен (?) Так Я не могу его использовать.Как получить индексы QListWidget :: selectedItems()?

Любые идеи?

QList<QListWidgetItem *> itemList = lw1->selectedItems(); 
+0

Неверно о вашем случае, но индекс применим к определенной модели, а QListWidget предназначен для обработки отдельных элементов, а не модели. У вас есть QListWidgetItem * \t itemAt (int x, int y) const с x и y для 'индексов'. – AlexanderVX

+0

Вы ищете 'QModelIndex' или интегральный индекс элемента в списке (т. Е. Его положение)? –

ответ

4

Вы можете использовать, может быть:

list->selectionModel()->selectedIndexes() 

Где list является экземпляром QListWidget.
Не уверен, что он возвращает именно то, что вы ищете.

От documentation:

Возвращает список всех выбранных индексов модели элементов. Список не содержит дубликатов и не сортируется.

QListWidget есть метод selectedIndexes, как хорошо, но это защищенный один, так что вы должны использовать такой хитрый способ, чтобы получить их.

+0

Да, отлично работает. Большое спасибо. – user3051029

Смежные вопросы