Как получить доступ к данным сопоставленного делегата ListModel ListElement ListView в QML?

По сути, у меня обычный ListView:

Rectangle {
    id: mylist

    ListModel {
        id: mylistModel
        ListElement {
            text: "blah1"
        }
        ListElement {
            text: "blah2"
        }
        ListElement {
            text: "blah3"
        }
    }

    Component {
        id: mylistDelegate

        Text {
            id: mylistDelegateText
            text: text
            property bool mylistDelegateTextEnabled: false
        }
    }

    ListView {
        id: mylistView
        model: mylistModel
        delegate: mylistDelegate
    }
}

Пожалуйста, не обращайте внимания любые проблемы, которые я мог создать, усекая код, чтобы сосредоточиться на том, что важно.

В любом случае, теперь моя проблема заключается в том, что я хочу получить доступ к делегату, назначенному ListElement, и посмотреть, какое значение имеет mylistDelegateTextEnabled в цикле javascript. Например, этот цикл выполняет итерацию по текущему списку и дает мне текст ListElements в модели:

for(var i = 0; i < mylistModel.count; ++i) {
    console.log(mylistModel.get(i).text);
}

Очевидно, что это работает нормально.

Теперь я хочу, по сути, вот что:

for(var i = 0; i < mylistModel.count; ++i) {
    console.log(mylistModel.get(i).text);
    console.log(mylistModel.get(i).delegate.mylistDelegateTextEnabled);
}

Увы, это не кажется таким уж легким.

Помощь приветствуется.

7
задан svenstaro 19 March 2012 в 18:34
поделиться