Russian Qt Forum
Ноября 24, 2025, 22:45
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Использование переменных в разных QML файлах
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Использование переменных в разных QML файлах (Прочитано 5724 раз)
Wargos
Новичок
Offline
Сообщений: 5
Использование переменных в разных QML файлах
«
:
Июня 26, 2020, 18:13 »
Недавно столкнулся с такой проблемой.
Вот допустим у меня есть main.qml в котором лежит StackView (id:stackView)
За тем несколько файлов .qml типа Page.
Вопрос, как можно между QML-файлами передавать переменные, кроме как через сигналы или создания переменной непосредственно в файле main.qml?
Записан
navrocky
Гипер активный житель
Offline
Сообщений: 817
Погроммист
Re: Использование переменных в разных QML файлах
«
Ответ #1 :
Июня 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
)
Записан
Гугль в помощь
ecspertiza
Супер
Offline
Сообщений: 1053
С уважением, мастер конфетного цеха!
Re: Использование переменных в разных QML файлах
«
Ответ #2 :
Июля 06, 2020, 15:30 »
Если у тебя stackView это родительский элемент, то из чилдов ты можешь обращаться просто по id. До тех пор пока не переопределишь его в каком то из чилдов. То есть в Page ты можешь обратиться к нему stackView.pop() и это должно работать.
Записан
navrocky
Гипер активный житель
Offline
Сообщений: 817
Погроммист
Re: Использование переменных в разных QML файлах
«
Ответ #3 :
Июля 06, 2020, 19:53 »
Цитата: ecspertiza от Июля 06, 2020, 15:30
Если у тебя stackView это родительский элемент, то из чилдов ты можешь обращаться просто по id. До тех пор пока не переопределишь его в каком то из чилдов. То есть в Page ты можешь обратиться к нему stackView.pop() и это должно работать.
При условии, что тело Page в этом же файле, что и stackView.
Записан
Гугль в помощь
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...