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. Но я не могу получить значение типа.

0

Решение

Я думаю, что в вашей реализации модели 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
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]