Может ли кто-нибудь указать мне правильное направление, как лучше организовать мой QML?
В настоящее время для общих отдельных компонентов я создаю новый файл QML и добавляю его в каталог Common
в моих ресурсах.
Например, мой Label.qml
Text{
width: parent.width * 0.5
height: parent.height * 0.1
color: "#ffffff"
font.underline: true
font.pointSize: 16
verticalAlignment: Text.AlignBottom
horizontalAlignment: Text.AlignLeft
}
А потом в моем Form.qml
я могу импортировать и использовать его так:
import "Common"
Page {
Label{
id: username_lbl
text: "Username"
anchors.topMargin: parent.height * 0.1
}
...
}
Но как бы я это сделал?выше, если я хочу сгруппировать несколько компонентов и ссылаться на них для использования с соединениями?
Например, я хотел бы, чтобы пара кнопок располагалась внизу страницы ( ниже - просто пример и не работает ):
ИтакЯ хотел бы иметь ButtonPair.qml
, который должен выглядеть примерно так:
Button {
id: left_btn
width: parent.width * 0.5
height: parent.height * 0.1
anchors.bottom: parent.bottom
anchors.right: parent.right
}
Button {
id: right_btn
width: parent.width * 0.5
height: parent.height * 0.1
anchors.bottom: parent.bottom
anchors.left: parent.left
}
А затем в моем Form.qml
я хотел бы использовать эти кнопки и добавить обработчик событий для каждой:
import "Common"
Page {
ButtonPair{id: back_forward_buttons}
Connections {
target: back_forward_buttons.left_btn
onClicked: {
stackView.pop();
}
Connections {
target: back_forward_buttons.right_btn
onClicked: {
stackView.push("AnotherPage.qml");
}
}
Нужно ли мне обернуть ButtonPair
в Component
и использовать Loader
на моей странице, и если да, то как мне добраться до отдельных кнопок влево / вправо, чтобыпривязать к onClicked
?