Вынести обьект QML в отдельный файл
тип, qml, Qt, отдельный файл
Всем привет.
Подскажите, пожалуйста. Вот, например, описываем какой-то объект и набирается очень много строк. А кроме него еще куча, и надо как-то разделить.
Например в крестах просто nameclass; и все, оттуда мы получаем всё, что вынести, а вот как с QML? Я так понимаю что это не import как в случае класса из крестов передавать в QML слой.
например
Rectangle { id: menuRect anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right height: dp(40) color: "#4cd964" // Иконка-Гамбургер Rectangle { anchors.top: parent.top anchors.bottom: parent.bottom anchors.left: parent.left width: dp(48) color: "#4cd964" Rectangle { anchors.top: parent.top anchors.topMargin: dp(16) anchors.left: parent.left anchors.leftMargin: dp(14) width: dp(20) height: dp(2) } Rectangle { anchors.top: parent.top anchors.topMargin: dp(23) anchors.left: parent.left anchors.leftMargin: dp(14) width: dp(20) height: dp(2) } Rectangle { anchors.top: parent.top anchors.topMargin: dp(30) anchors.left: parent.left anchors.leftMargin: dp(14) width: dp(20) height: dp(2) } MouseArea { anchors.fill: parent onClicked: { } } } }
0
99
Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
- Соңғы пікірлер
- AKСәуір 1, 2025, 11:41 Т.Ж.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPНаурыз 9, 2025, 4:14 Т.Қ.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМҚар. 22, 2024, 9:51 Т.Қ.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Енді форумда талқылаңыз
- fАқп. 15, 2025, 1:46 Т.Қ.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
- Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
Нужно создать отдельный QML файл, название которого будет начинаться с заглавной буквы (обязательно с заглавной), тогда в QML это будет считаться типом. Всё, что относится к иконке, вынести в этот файл. Допустим, он будет называться Burger.qml
После этого в файле main.qml добавить иконку следующим образом:
Но, например, у обьекта прямоугольник с 4 по 6 строчки заданное местоположение или якоря.
Получается, что мы создаем обьект типа “название файла”.qml и тут задаем якоря? Не в самом файле?
Так как у меня именно так получается? Или есть какой то более правильный способ?
Но почему то main.qml не видит его. То есть, пишу название, а редактор подписывает что это неизвестный элемент.
В файле будет основное содержимое и якоря, относящиеся только к внутреннему расположению дочерних элементов данного объекта. Расположение объекта в main.qml нужно задавать якорями уже в самом файле main.qml.
А вот здесь уже рекомендую внимательно разобраться с путями к файлу. Особенно это касается QML файлов. Они же добавляются, как файлы ресурсов, и добавлять их нужно в qml.qrc. Так что их лучше расположить там же, где и main.qml находится. В целом странного в этом ничего нет, просто не совсем корректно был файл добавлен. Лучше попробовать создать для начала новый пустой файл в проекте и поработать с ним. А потом уже добавлять заполненный файл.
Да, я этот момент уже заметил. Но добавил пути туда в другой каталог как положено.
Но вот и странно что создаю объект такого класса но он его не видит(
Наверное я где то чет упустил.
То есть например в каталоге Content есть файл file.qml
И в qml.qrc указан путь Content/file.qml
Вроде как все правильно.
Префиксы к файлам прописаны? или префикс просто “/”.
Смотреть нужно, что там с префиксами и алиасами. Если префикс “/”, то может и без алиаса быть указано.
Как вариант, создать тогда файл с нужным названием и потом копировать туда содержимое. Чтобы разобраться, какой момент упущен.
Да, префик в qml.qrc указан “/”.
Прикрепил скрин маленький. Вроде все как и должно быть.
Вот где была моя ошибка, нужно импортировать каталог с контентом.
Спасибо.