ComboBox QML does not show item text after selection

3k views Asked by At

I have a QML ComboBox whose model is defined as a C++ QList < QObject* >. When I open the drop down list, I can see all items defined in the C++ model, but after selection, the selected item is not shown. So, items are only visible in the drop down element. The relevant part of the qml file is:

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
        }
    }
}

How to display in the closed combobox the item text previously selected in the drop down element?

1

There are 1 answers

0
eyllanesc On BEST ANSWER

According to the 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.

You have to indicate the role of the model to be displayed through textRole.

ComboBox {
    id: placesCombo
    textRole: "displayLabel"
    ...
}