Как встроить код Qt Quick в C++?
Я создаю довольно сложный пользовательский интерфейс в Qt. Я использую C++ везде, но, узнав об удивительном Qt Quick, я подумал, можно ли как-то встроить Qt Quick в базовый интерфейс C++, что приведет к гибридному интерфейсу?
2 ответа
Вы можете сделать это, написав файл.qml с кодом qml, а затем загрузив его с помощью класса QQuickView.
Пример отсюда:
QQuickView *view = new QQuickView;
view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
view->show();
Для более расширенного использования и интеграции с QtQuick <-> C++ посмотрите эту презентацию
"Вставить быстрый код в C++" звучит как очень плохая идея. Именно для этого и была создана программа qt quick - отделить логику от пользовательского интерфейса. Просто сосредоточьтесь на реализации критически важных частей вашего кода в логическом ядре и используйте сигналы, слоты и свойства для создания пользовательского интерфейса для работы с этим логическим ядром с QML. Идея заключается в том, что логическое ядро и пользовательский интерфейс достаточно абстрагированы, чтобы быть полностью независимыми друг от друга, кроме привязок данных.
Если вы хотите спросить, можете ли вы "встраивать" файлы QML в исполняемый файл - да, файлы QML можно использовать из стандартных файлов ресурсов Qt.