Заблокирован

Подсветка QML элементов QML-ного плагина в QtCreator в случае нахождения QML файлов плагина в ресурсах!

11.09.2015, 15:03. Показов 2872. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Если сделать плагин для QML и подключить его в основном проекте ну как - то так:
C++ (Qt)
1
import MiracleStudio.SkyControls 1.0
то в случае наличия в нём C++ файлов (в плагине) всё подсвечивается нормально (я говорю про синтаксическую подсветку).
Если я добавляю в этот плагин QML файлы и НЕ кладу их в ресурсы этого плагина, кладу просто в папку qml корня самого плагина, при этом прописав как следует в qmldir файле:
C++ (Qt)
1
SkyMenu 1.0 qml/SkyMenu.qml
то после инсталляции этого плагина (сборка с параметром install), папка плагина копируется в соответствующую папку в папке установки Qt (в папку QML, у меня C:\Qt\qt-5.5.0-x64-mingw510r0-seh-rev0\qt-5.5.0-x64-mingw510r0-seh-rev0\qml) и так же копируется туда моя папка с QML-ём из корня полагина в сорцах (в случае правильной настройки pro файла), то есть мой QML файлик SkyMenu.qml успешно лежит тут C:\Qt\qt-5.5.0-x64-mingw510r0-seh-rev0\qt-5.5.0-x64-mingw510r0-seh-rev0\qml\MiracleStudio\SkyControls\qml\S kyMenu.qml, сама dll-ка плагина на уровень выше соответственно, так вот, в таком случае всё работает, то есть QtCreator разумеется видит этот плагин и подсвечивает синтаксис моего QML файла.
Теперь самый главный косяк и проблема. Если я в плагине этот QML файл кладу в ресурсы и соответственно в папке плагина уже нет файла qml - он в dll-ке в секции ресурсов, то QtCreator видит этот плагин, он работает, но ни хрена не подсвечивается
Собственно и вопрос, как сделать так, что QtCreator подсвечивал qml файлы из ресурсов плагина...
Весь гугл перерыл, особо инфы ни где нет... пробовал даже qmlplugindump.exe, который генерит файлик типов, но всё равно, даже с ним эффекта ноль...
Есть какой - то хитрый способ добиться подсветки? Ведь если так разобраться, в отдельном проекте QtQuck, если файлы лежат в ресурсах, всё подсвечивается, а вот с плагинами - болт

Есть тут супер гуру Qt, кто сможет помочь?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2015, 15:03
Ответы с готовыми решениями:

QMl/QT при нажатии на кнопку должен окрыться другой qml файл
Додал anchors Вот что я сделал: import QtQuick 2.5 import QtQuick.Controls 1.4 ApplicationWindow { id: applicationWindow...

Как подключить QML-файл в C++ по моде, а также получить ссылки на QML-элементы в C++
Читал в интернете, как подключать QML-файлы. Кто-то использует QQmlView, кто-то QQmlApplicationEngine, а ещё приводят связку QQmlEngine и...

qml - что из себя представляет qml
Решил написать игру на Qt,выбор остановился на танчиках.Посмотрел примеры и понял что все игры ,что там даны написаны с помощью...

6
Заблокирован
13.09.2015, 18:29  [ТС]
CriDOS, Avazart, help!

Добавлено через 5 часов 38 минут
В общем, пришёл к выводу, что на QML нормально разработку вести нельзя, либо код открывать, либо пихать всё в ресурсы, но тогда подсветка не пашет, возвращаюсь на виджеты...
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
13.09.2015, 20:28
Зачем пихать в ресурсы?
0
Заблокирован
14.09.2015, 09:54  [ТС]
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Зачем пихать в ресурсы?
Ну как зачем? Чтоб хотя бы немножко спрятать код (+ из ресурсов быстрее грузиться, особенно на мобильных девайсах). Понятно дело, что любой, хотя бы немножко продвинутый юзер, сможет взять утилитку restorator или ему подобную и вытянуть ресурсы из бинаря, а учитывая, что ресурсы не проходят никакой абфурскации, они просто лежать в секции ресурсов в незащищённом виде и доступны для редактирования... Но! Даже простое засовывание кода в ресурсы уже остеит процентов 70% нубов - крэкеров
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
14.09.2015, 12:54
Были прецеденты взлома?
0
Заблокирован
14.09.2015, 14:14  [ТС]
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Были прецеденты взлома?
С Qt не было по той причине, что я софт ещё не доделал, без Qt конечно же всё было, думаю с Qt и QML хакеры просто обомлеют от буквально опенсорных продуктов :-)
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
14.09.2015, 14:19
От чего обомлевать то? QML это UI, всю "секретную" логику пихаешь в C++. В коммерческой версии есть компилятор QML.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2015, 14:19
Помогаю со студенческими работами здесь

QML вызов другого qml
Всем привет. Название темы немного неверное. Вообщем проблема такая. Делаю игру на qml, и есть main_menu.qml, далее мне необходимо вызвать...

Qml textEdit подсветка
такой вопрос, скажем у меня есть написанный на c++qt редактор кода, очень сырой, и с ужасным внешним интерфейсом, я хочу переписать этот...

QT Creator падает при открытии файлов *.ui.qml - в дизайнере
Добрый день. При открытии в дизайнере файлов *.ui.qml - в которых есть скриптовые выражения среда часто падает. Причем на одном и том же...

Размер элементов в QML
Добрый день. Создаю форму на QML и появился ряд вопросов: 1. Как уменьшить размер спинбокса, чекбокса, ибо выглядит некрасиво...

QML. Динамическое создание элементов
Доброго времени суток форумчане. :handshake: В прикрепленной картинке отображается схема приложения. Вопрос: почему после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
C++26: Индексирование пакетов и метапрограммиро­вание
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru