Ошибка QGLWidget :: renderPixmap () --- Ошибка QGLContext :: chooseContext (): Ошибка SetPixelFormat - PullRequest
0 голосов
/ 16 марта 2012

Я хочу вызвать QGLWidget :: renderPixmap (), чтобы сохранить содержимое QGLWidget, но это не удалось. Консоль предлагает: "QGLContext :: chooseContext (): сбой SetPixelFormat: неправильная функция."

void MyOpenGLWidget::savePicture()
{
    QPixmap pixmap = renderPixmap(width(), height());
}

Рабочая среда: Windows Xp, QtSDK 4.8.0

1 Ответ

0 голосов
/ 16 марта 2012

Документация для renderPixmap гласит:

Обратите внимание, что создание списков отображения, модификаций вида frustum и т. д. должны быть выполнены из initializeGL (). Если это не готово, временный QGLContext не будет правильно инициализирован, и изображение может быть неполным / поврежденным.

Итак, я предполагаю, что части вашей конфигурации контекста отличаются от initializeGL().

Другой сценарий, который может вызвать вашу проблему, - это если вы используете пользовательский QGLContext и не переопределяете QGLContext::choosePixelFormat(void * dummyPfd, HDC pdc).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...