Я предполагаю, что это самый простой способ предоставить QML новый пользовательский компонент, реализованный на C ++. Я не мог найти ничего готового.
Вы можете создать подкласс QDeclarativeItem и реализовать свой код OpenGL в функции рисования после использования функции QPainter :: beginNative () . После этого вы можете «экспортировать» ваш новый пользовательский элемент в QML таким образом . Это довольно просто и должно работать, но вам нужно настроить окно просмотра вашего QDeclarativeView, чтобы оно было QGLWidget, примерно так:
QDeclarativeView view;
// This is needed because OpenGL viewport doesn't support partial updates.
view.setViewportUpdateMode(QGraphicsView::FullViewportUpdateMode);
view.setViewport(new QGLWidget);
или вам придется использовать графическую систему opengl для всего приложения.
Другой способ - использование QML / 3D .
Эта тема даст вам некоторую другую информацию.