alex_lip20 февраля 2018 г. 3:10
Разбить один qml файл на несколько составляющих
Основная форма проекта на QML разрослась. Хочется объекты, которые я использую на форме разбить на отдельные qml файлы для удобства просмотра и отладки. Например
Диалог, который вызывается в форме я перенес в другой файл и назвал его send_chat.qml.
Dialog { id: dialog_chat title: "Текст сообщения" contentItem: Rectangle { color: "ivory" border.color: "orange" implicitWidth: mydocPage.width implicitHeight: mydocPage.height/2 } }Все qml файлы лежат в папке content.В начале основного Qml файла поместил директиву
import "content"А что делать дальше? Как мне сказать в основном файле - загрузи send_chat.qml
пробовал
import "../content/send_chat.qml"тоже не находит.
import "/content/send_chat.qml"пишет import "/content/send_chat.qml" has no qmldir and no namespace
Хотя в файле меню использую лоадер для динамической загрузки - все грузится
TextButton { id:doc_chat anchors.left: parent.left anchors.right: parent.right text: qsTr("Написать помощнику") smooth: false onClicked: { loader.source = "/content/chat.qml" drawer.close() } }Но мне не нужна динамическая загрузка. Мне нужно разделить один qml файл на несколько (по объектно) только для удобства просмотра.
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
d
- dsfs
- 26 апреля 2024 г. 4:56
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
d
- dsfs
- 26 апреля 2024 г. 4:35
C++ - Тест 001. Первая программа и типы данных
- Результат:73баллов,
- Очки рейтинга1
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 1:50
EVA25 декабря 2023 г. 10:30
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
Evgenii Legotckoi2 мая 2024 г. 14:07
IscanderChe30 апреля 2024 г. 4:22
Павел Дорофеев14 апреля 2024 г. 2:35
Здесь есть один нюанс в именовании файлов. Если Вы что-то выделяете в отдельный файл и пытаетесь его импортировать, то это что-то считается Типом QML и файл должен именоваться с большой буквы и CamelCase стиле. То есть переименуйте следующим образом.
Спасибо получилось. Только чтобы вызвать диалог надо ему id присвоить именно в основном файле.
Тот id который существует в файленедоступен.
не знаю как пометить что вопрос решён...
У ответов пользователей справа в нижнем углу есть галочка, которая помечает правильный ответ.
И да, id будет недоступен извне.
галочка не видна. нажал наугад
Странно, видимо у вас не обновились некоторые стили после моего последнего апдейта.
ALT+R и ALT+F5
Теперь проблема вылезла - как передать данные из одного файла в другой. Раньше объекты видели друг друга. Теперь нет.
Можно объявлять функции
Каждый QML файл является описанием типа QML, то есть это аналогично классу в C++, поэтому здесь нужно отталкиваться от ООП.
а почему myItem.set ..? A не Item.set.. или root.set ? Где Вы myItem объявили?
Да нигде... это просто пример, если объект имеет у вас какой-нибудь id. Обращаться же по id будете извне.
Да спасибо. Просто после необходимости специфичных названий для файла - стараюсь обращать внимание на любую мелочь.