QAbstractListModel для Combobox, Как получить значение a Когда выберите значение b
Я сделал очень простой пример QAbstractListModel. Этот пример также представлен по этой ссылке: http://doc.qt.io/qt-5/qtquick-models-abstractitemmodel-example.html. Результат программы такой:
В результате я внес небольшое изменение в файл view.qml следующим образом.
ComboBox {
id:mycombo
width: 200; height: 250
model: myModel
textrole:"type"
onCurrentTextChanged: {
console.log(mycombo.model.get(currentIndex).size);
}
}
здесь, Combobox показывает тип животных. Но я хочу написать значение 'size' при событии onCurrentTextChanged. Но я не могу получить значение типа.
1 ответ
Я думаю, что в вашей реализации модели cpp произошел сбой. Потому что, когда я использую модель qml, она работает как следует:
ListModel {
id: myModel
ListElement{
type: "mouse"
size: "small"
}
ListElement{
type: "cat"
size:"medium"
}
ListElement{
type: "elephant"
size:"large"
}
}
ComboBox {
id:mycombo
width: 200; height: 250
model: myModel
textRole:"type"
onCurrentTextChanged: {
console.log(mycombo.model.get(currentIndex).size);
}
}
Выход:
qml: small
qml: medium
qml: large