Рендеринг в QGLWidget, который выполняется в потоке, отличном от основного
Мне удалось запустить QApplication в другом потоке, отличном от основного, и запустить там мой QGLWidget, однако, когда я пытаюсь выполнить команду opengl в своем основном потоке, я получаю ошибку недопустимой операции gl. Я подозреваю, что речь идет о том, чтобы иметь контекст gl в другом потоке, но не смог найти способ получить контекст QGLWidget и установить его как текущий в основном потоке, так как мой QGLWidget работает в другом потоке.
Какие-либо предложения?
примечание: мне действительно нужна отдельная угроза для вычислений с графическим интерфейсом и opengl.
1 ответ
Вы должны иметь QApplication в основном потоке (GUI в основном потоке) и все вычисления, которые вы можете перенести в другие потоки. Но не GUI, только основной поток для GUI (QApplication).