我有一个QML ComboBox,其模型定义为C ++ QList< QObject *>。 当我打开下拉列表时,我可以看到C ++模型中定义的所有项目,但在选择之后,未显示所选项目。 因此,项目仅在下拉元素中可见。 qml文件的相关部分是:
ComboBox {
id: placesCombo
anchors.top: parent.top
width: parent.width
model: myModel
delegate: ItemDelegate {
width: placesCombo.width
contentItem: Text {
id: placesComboItem
text: displayLabel
elide: Text.ElideRight
verticalAlignment: Text.AlignVCenter
}
}
}
如何在封闭的组合框中显示先前在下拉元素中选择的项目文本?
由于
答案 0 :(得分:3)
根据docs:
textRole:string
此属性包含用于的模型角色 填充组合框。
当模型具有多个角色时,可以设置textRole来确定 应该显示哪个角色。
您必须通过textRole指示要显示的模型的角色。
ComboBox {
id: placesCombo
textRole: "displayLabel"
...
}