Как встроить код 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.

Другие вопросы по тегам