我有一些使用Qt 4的代码。我想将它迁移到Qt 5并切换到QOpenGL的东西。我无法理解来自void paintGL()
和void initializeGL()
的代码需要在QWindow中的哪个位置。任何人都可以帮我一个例子吗?
答案 0 :(得分:1)
我创建了一个使用QWindow和OpenGL的简单示例。
为简化OpenGL开发,我创建了一个抽象类GLWindow,它包含虚函数initializeGL()
,paintGL()
和resizeGL(int w, int h)
。我相信源代码显示了旧样式和新样式之间的关系。
这个例子可以在这里找到:
https://github.com/mortennobel/QtOpenGLChapter/tree/master/OpenGL3xAlt
答案 1 :(得分:0)
Qt在OpenGL场景中放置了小部件at least one example (Overpainting)。通过查看,看起来最简单的方法是从QGLWidget
而不是QWidget
继承并覆盖适当的虚函数以进行初始化和绘制。
答案 2 :(得分:0)
在Qtbase / examples / opengl中使用QWindow和OpenGL的标准示例是hellowindow。
没有直接替换initializeGL和paintGL。相反,你做这样的事情: