我创建了从OptionList
派生的课程QListWidget
和从ListItem
派生的课程QListWidgetItem
OptionList
中的我尝试使用QList<ListItem *> items = selectedItems();
从列表中获取所选项目,但它显示以下错误:
conversion from QList<QListWidgetItem *> to non-scalar type QList<ListItem *> requested
我知道selectedItems()
函数返回QListWidgetItem
的列表,有没有办法将这个函数用于ListItem
类,我是从QListWidgetItem
派生的?
答案 0 :(得分:1)
正确的方法是使用QList<QListWidgetItem *>
获取selectedItems()
的结果,并在需要从列表中获取项目时使用ListItem *myItem = static_cast<ListItem *>(item)
。
但是,因为列表只是指针,所以可以安全地执行此操作:
QList<ListItem *> items = *reinterpret_cast<QList<ListItem *>*>(&selectedItems());