Qt - 如何从QListWidget获取选定的自定义项目?

时间:2018-05-18 18:00:31

标签: c++ qt qt-creator

我创建了从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 :(得分:1)

正确的方法是使用QList<QListWidgetItem *>获取selectedItems()的结果,并在需要从列表中获取项目时使用ListItem *myItem = static_cast<ListItem *>(item)

但是,因为列表只是指针,所以可以安全地执行此操作:

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