Я использую ListView
с моделью и делегатом.Доступ к таблице ListView в компоненте Repeater в делегате
Модель простая ListModel
с тремя элементами. Каждый элемент имеет значение с ключом myFirstRole
.
Делегат содержит компонент Repeater
, чтобы создать произвольное число Labels
. Labels
должны использовать данные модели.
Модель ретранслятора не может быть установлен в модели Listview
«s, как у меня есть Repeater
, используя другие данные.
Вот минимальный пример того, что я пытаюсь достичь:
//MyDelegate.qml
Component {
Item {
id: root
width: childrenRect.width
height childrenRect.height
Repeater {
model: 5 //It's not an option to set the repeaters model to the ListViews model. This example just illustrates my problem.
Label {
text: root.ListView.view.model.myFirstRole //This is the line where I want to be able to access the ListView's model, but I can't figure out how to properly reefer to it.
}
}
}
}
//MyListView.qml
ListView {
id: root
delegate: MyDelegate {}
model: ListModel {
ListElement {
myFirstRole: "one"
}
ListElement {
myFirstRole: "two"
}
ListElement {
myFirstRole: "three"
}
}
}
Использование Qt 5.7.0 с MSVC2015 32bit
Ваш пример не является полным. Я вообще не вижу «ListView», но вы упомянули это в заголовке. – folibis
@folibis: Я не думал, что это необходимо, поскольку код ListView для этого примера - это не что-то иное, как стандартный шаблонный код ListView. Я могу добавить его для полноты. – Phat