Название: Использование переменных в разных QML файлах Отправлено: Wargos от Июнь 26, 2020, 18:13 Недавно столкнулся с такой проблемой.
Вот допустим у меня есть main.qml в котором лежит StackView (id:stackView) За тем несколько файлов .qml типа Page. Вопрос, как можно между QML-файлами передавать переменные, кроме как через сигналы или создания переменной непосредственно в файле main.qml? Название: Re: Использование переменных в разных QML файлах Отправлено: navrocky от Июнь 26, 2020, 20:18 Передавай значения через пропсы параметрически от родительского компонента дочернему.
Если нужно прямо шарить общий стейт, то: 1) лучше модель сделать в плюсовом коде и дать всем ссылки на неё и вьюхи будут мониторить её изменение (MVVM). 2) либо если QML, то можно сделать QML компонент на базе OtObject, создать его в main.qml и дальше параметрически передать всем вьюхам 3) есть JS либа в QML со стейтом (https://doc.qt.io/qt-5/qtqml-javascript-resources.html#shared-javascript-resources-libraries) Название: Re: Использование переменных в разных QML файлах Отправлено: ecspertiza от Июль 06, 2020, 15:30 Если у тебя stackView это родительский элемент, то из чилдов ты можешь обращаться просто по id. До тех пор пока не переопределишь его в каком то из чилдов. То есть в Page ты можешь обратиться к нему stackView.pop() и это должно работать.
Название: Re: Использование переменных в разных QML файлах Отправлено: navrocky от Июль 06, 2020, 19:53 Если у тебя stackView это родительский элемент, то из чилдов ты можешь обращаться просто по id. До тех пор пока не переопределишь его в каком то из чилдов. То есть в Page ты можешь обратиться к нему stackView.pop() и это должно работать. При условии, что тело Page в этом же файле, что и stackView. |