Рендеринг в QGLWidget, который выполняется в потоке, отличном от основного

Мне удалось запустить QApplication в другом потоке, отличном от основного, и запустить там мой QGLWidget, однако, когда я пытаюсь выполнить команду opengl в своем основном потоке, я получаю ошибку недопустимой операции gl. Я подозреваю, что речь идет о том, чтобы иметь контекст gl в другом потоке, но не смог найти способ получить контекст QGLWidget и установить его как текущий в основном потоке, так как мой QGLWidget работает в другом потоке.

Какие-либо предложения?

примечание: мне действительно нужна отдельная угроза для вычислений с графическим интерфейсом и opengl.

1 ответ

Вы должны иметь QApplication в основном потоке (GUI в основном потоке) и все вычисления, которые вы можете перенести в другие потоки. Но не GUI, только основной поток для GUI (QApplication).

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