Qt - Как получить выбранные пользовательские элементы из QListWidget? - PullRequest
0 голосов
/ 18 мая 2018

Я создал класс OptionList, полученный из QListWidget, и класс ListItem, полученный из QListWidgetItem

в классе OptionList Я пытался использовать QList<ListItem *> items = selectedItems();, чтобы получить выбранные элементы изсписок, но он показывает следующую ошибку:

conversion from QList<QListWidgetItem *> to non-scalar type QList<ListItem *> requested

Я знаю, что функция selectedItems() возвращает список QListWidgetItem, есть ли способ использовать эту функцию сListItem класс, который я получил от QListWidgetItem?

1 Ответ

0 голосов
/ 18 мая 2018

Правильный способ - использовать QList<QListWidgetItem *>, чтобы получить результат для selectedItems(), и использовать ListItem *myItem = static_cast<ListItem *>(item), когда вам нужно получить элемент из списка.

Но, поскольку список состоит только из указателей, безопасно сделать это:

QList<ListItem *> items = *reinterpret_cast<QList<ListItem *>*>(&selectedItems());
...