选择后 ComboBox QML 不显示项目文本
ComboBox QML does not show item text after selection
我有一个 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
}
}
}
如何在关闭的组合框中显示先前在下拉元素中选择的项目文本?
根据 docs:
textRole : string
This property holds the model role used for
populating the combo box.
When the model has multiple roles, textRole can be set to determine
which role should be displayed.
必须通过textRole指明要显示的模型的角色
ComboBox {
id: placesCombo
textRole: "displayLabel"
...
}
我有一个 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
}
}
}
如何在关闭的组合框中显示先前在下拉元素中选择的项目文本?
根据 docs:
textRole : string
This property holds the model role used for populating the combo box.
When the model has multiple roles, textRole can be set to determine which role should be displayed.
必须通过textRole指明要显示的模型的角色
ComboBox {
id: placesCombo
textRole: "displayLabel"
...
}