代码之家  ›  专栏  ›  技术社区  ›  Gabriel_Br

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

  •  0
  • Gabriel_Br  · 技术社区  · 7 年前

    我创建了这个类 OptionList 源自 QListWidget 还有这个班 ListItem 源自 QListWidgetItem

    在课堂上 选择者 我试着用 QList<ListItem *> items = selectedItems(); 从列表中获取所选项目,但显示以下错误:

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

    我知道 selectedItems() 函数返回 QListWidgetItem ,有没有办法将此功能与 列表项 类,我从中派生 QListWidgetItem ?

    1 回复  |  直到 7 年前
        1
  •  1
  •   rflobao    7 年前

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

    但是,因为列表中只有指针,所以这样做是安全的:

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