2011-08-23 2 views
0

QGLWidget에 문제가 있습니다. 사실, 마우스 동작으로 QGLWidget이 업데이트됩니다. 이 위젯에서 다른 창을 여는 요구 사항이 있습니다 (예 : 더블 클릭 이벤트). QGLWidget을 부모로 사용하고 새 창에 다음 플래그를 설정하여 새로운 위젯 QWidget을 생성합니다.QGLWidget 문제

QWidget :: setWindowFlags (Qt :: Window | Qt :: WindowTitleHint | Qt :: CustomizeWindowHint | Qt :: WindowMinimizeButtonHint | Qt :: WindowCloseButtonHint);

이 새 창이 열리고 예상대로 작동합니다. 그러나이 창을 닫고 QGLWidget을 업데이트하려고하면 이상한 행동을 보입니다. 총 QGLWidget (새 창이 열렸던 영역)의 일부분 만 업데이트되고 전체 QGLWidget은 업데이트되지 않습니다.

또 다른 요점을 여기에서 업데이트하지 못했습니다. 이 문제는 매번 발생하지 않습니다. qt 응용 프로그램은 필요한 dll로 재배포 된 다른 응용 프로그램과 함께 열립니다. 독립적 인 응용 프로그램으로 열면 아무런 문제가 없습니다. 그러나 다른 응용 프로그램과 함께 열면 문제가 다시 발생합니다.

왜 그런가?

감사합니다.

+0

적절한 크기로 'resizeGL' 함수를 호출하면 도움이됩니까? – ssell

답변

0

나는 당신이 말한 것을하면서이 문제를 보지 못했던 빠른 Qt 앱을 던졌습니다. 하위 위젯은 평소대로 표시됩니다. 내가 그것을 방해하지 않거나 닫으면, 나는 그 아래의 GL 장면을 보게된다. 아마도 코드 스 니펫이나 문제의 스크린 샷을 제공 할 수 있습니다.

그러나 어떻게 든 귀하의 GL 창은 화가가 described here으로 제한된 화가로 업데이트되고있는 것처럼 들립니다.

+0

답장을 보내 주셔서 감사합니다. 내 코드에서 재 페인트 호출이 많이 사용되고 있습니다. 그러나 요청한 지역이 새 위젯을 열 때 변경되는지 여부는 확실하지 않습니다. – krishna