Я пытаюсь написать свои компоненты QML модульным способом, чтобы иметь возможность изменять графику на лету, но я изо всех сил пытаюсь вложить их больше, чем на одном уровне, вот пример:
import QtQuick 2.0
import QtGraphicalEffects 1.0
WindowFrame {
id: this_item
property Component body //this wont load the component
property alias footer: footer_loader.sourceComponent //this gives an error -> Invalid alias reference. Unable to find id "footer_loader"
property int footer_height: 70
body: Item {
id: body_component
Loader {
id: body_loader
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
height: parent.height-this_item.footer_height
sourceComponent: this_item.body
}
Item {
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
height: this_item.footer_height
z: 2
Rectangle {
anchors.fill: parent
color: Qt.rgba(0, 0, 0.5, 1)
layer.enabled: true
layer.effect: DropShadow {
transparentBorder: true
horizontalOffset: 0
verticalOffset: -8
radius: 8.0
samples: 17
color: Qt.rgba(0, 0, 0, 0.5)
}
}
Loader {
id: footer_loader
anchors.fill: parent
}
}
}
}
Цель состоит в том, чтобы собрать компоненты с заранее определенными пробелами (например, карточками), а затем загрузить в них другие элементы и не найти ничего другого, кроме использования загрузчика. Как это можно сделать? Есть ли лучший подход к этому?