2014-02-11 78 views
0

我使用Qt 4,我想將它移植到Qt的5並切換到QOpenGL東西一些代碼。我不明白void paintGL()void initializeGL()需要在QWindow中的代碼。任何人都可以幫助我一個例子嗎?從QGLWidget來繪圖移動到QWindow

回答

0

Qt擁有把小部件上的OpenGL場景的at least one example (Overpainting)。通過查看,看起來最簡單的方法是繼承QGLWidget而不是QWidget,並覆蓋適當的虛擬函數以進行初始化和繪製。

0

標準例如用於使用QWindow與OpenGL是在qtbase /示例/ OpenGL的hellowindow

沒有爲initializeGL和paintGL沒有直接替換。相反,你做這樣的事情:

  • 有一個QWindow與曲面類型OpenGLSurface。
  • 創建一個匹配格式的QOpenGLContext。
  • 當窗口收到暴露事件,開始渲染(makeCurrent,您的通話GL,最後swapBuffers)。