QOpenGLWidget: получение дескриптора окна для библиотеки 3-го участника - PullRequest
0 голосов
/ 16 апреля 2019

Я создаю приложение, которое взаимодействует с OpenGL с помощью QOpenGL * классов. Графика отображается через QOpenGLWidget , который размещается в форме пользовательского интерфейса.

Теперь есть библиотека для САПР ( Open CASCADE ), для интерфейса OpenGL которой требуется дескриптор окна рендеринга. Вопрос в том, могу ли я как-то сказать библиотеке, чтобы все отрисовывалось в упомянутый виджет?

Другими словами, есть ли способ интерпретировать виджет как собственное, возможно, зависящее от платформы окно (здесь HWND), чтобы библиотека отображала свои собственные вещи именно там?

Спасибо

1 Ответ

0 голосов
/ 17 апреля 2019

После некоторого расследования я обнаружил, что метод QOpenGLWidget :: winId () возвращает правильный дескриптор.Это было обнаружено только сейчас, потому что визуализированная сцена исчезла немедленно, оставив вместо этого черную картинку.Однако при изменении размера области просмотра сцена возвращается обратно (и снова исчезает).Похоже, у Open CASCADE есть проблемы с реализацией Qt 5 OpenGL, поскольку, насколько я знаю, у QGLWidget таких проблем не было.

...