Вынести обьект 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
Do you like it? Share on social networks!
- Last passed tests
- АПMarch 9, 2025, 9:16 p.m.
- Last comments
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
- Now discuss on the forum
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать 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 указан “/”.
Прикрепил скрин маленький. Вроде все как и должно быть.
Вот где была моя ошибка, нужно импортировать каталог с контентом.
Спасибо.