Qt - 如何从 QListWidget 中获取选定的自定义项?
Qt - How to get selected custom items from a QListWidget?
我创建了从 QListWidget
派生的 class OptionList
和从 QListWidgetItem
派生的 class ListItem
在 class OptionList
我尝试使用 QList<ListItem *> items = selectedItems();
从列表中获取选定的项目,但它显示以下错误:
conversion from QList<QListWidgetItem *> to non-scalar type QList<ListItem *> requested
我知道 selectedItems()
函数 returns QListWidgetItem
的列表,有没有办法将此函数与 ListItem
class 一起使用,我从 QListWidgetItem
派生的?
正确的方法是使用 QList<QListWidgetItem *>
获取 selectedItems()
的结果,当您需要从列表中获取项目时使用 ListItem *myItem = static_cast<ListItem *>(item)
。
但是,因为列表只是指针,所以这样做是安全的:
QList<ListItem *> items = *reinterpret_cast<QList<ListItem *>*>(&selectedItems());
我创建了从 QListWidget
派生的 class OptionList
和从 QListWidgetItem
ListItem
在 class OptionList
我尝试使用 QList<ListItem *> items = selectedItems();
从列表中获取选定的项目,但它显示以下错误:
conversion from QList<QListWidgetItem *> to non-scalar type QList<ListItem *> requested
我知道 selectedItems()
函数 returns QListWidgetItem
的列表,有没有办法将此函数与 ListItem
class 一起使用,我从 QListWidgetItem
派生的?
正确的方法是使用 QList<QListWidgetItem *>
获取 selectedItems()
的结果,当您需要从列表中获取项目时使用 ListItem *myItem = static_cast<ListItem *>(item)
。
但是,因为列表只是指针,所以这样做是安全的:
QList<ListItem *> items = *reinterpret_cast<QList<ListItem *>*>(&selectedItems());