В документах QML StackView упоминается что вы можете отправить item
с такими свойствами:stackView.push({item: someItem, properties: {fgcolor: "red", bgcolor: "blue"}})
Есть ли способ, с помощью которого мы можем протолкнуть component
со свойствами? Мои компоненты в основном являются оболочками других файлов .qml
для разных представлений моего приложения, например:
Component{
id: loginComponent
Login{}//The Login.qml file of my project
}
Вот что я пытаюсь:
Main.qml
ApplicationWindow {
id: appWindow
visible: true
width: Screen.desktopAvailableWidth
height: Screen.desktopAvailableHeight
property alias stackv: stackv
property alias loginComponent: loginCom
StackView {
id: stackv
anchors.top: topHeader.bottom
anchors.topMargin: 10
anchors.bottom: parent.bottom
width: parent.width
focus: true
Component {
id: loginCom
Login {
anchors.fill: parent
}
}
}
}
В другом файле QML, который был добавлен в качестве компонента в представление стека, я пробую это для одного из методов onClick кнопки:
onClicked: {
appWindow.stackv.push({item: appWindow.loginComponent})
}
Меня выдает эта ошибка:
QML StackView: push: нечего нажимать
Если я попробую это без свойства item
, это сработает. Однако в любом случае я не могу нажимать свойства.