在图像上绘图:PyQt 和 PyOpenGL
Draw on an image: PyQt and PyOpenGL
我正在尝试使用 PyQt5 和 PyOpenGL 在现有图像上绘制线条和形状。到目前为止,我已经完成了以下工作:
- 创建
QGraphicsView
的对象
- 向其中添加一个
QGraphicsScene()
对象
- 将
Pixmap
添加到我的 scene
我还创建了一个名为 GLWidget
的 class,它继承自 QGLWidget
。
问题是我无法在 scene
中显示 GLWidget
。我的意思是,当我执行 scene.addWidget(glWidget)
时,函数 (initializeGL
、paintGL
、...) 被调用,但屏幕上没有任何显示。
我不得不说,当我只显示 GLWidget
时:
glWidget = GLWidget(self)
self.setCentralWidget(glWidget)
它工作正常!
提前致谢。
我在 github 中的 PyQt5 示例中找到了解决方案:
PyQt5 OpenGL examples
棘手的部分是我必须执行的 initializeGL
函数:
self.gl = self.context().versionFunctions()
self.gl.initializeOpenGLFunctions()
....
希望对您有所帮助!
我正在尝试使用 PyQt5 和 PyOpenGL 在现有图像上绘制线条和形状。到目前为止,我已经完成了以下工作:
- 创建
QGraphicsView
的对象 - 向其中添加一个
QGraphicsScene()
对象 - 将
Pixmap
添加到我的scene
我还创建了一个名为 GLWidget
的 class,它继承自 QGLWidget
。
问题是我无法在 scene
中显示 GLWidget
。我的意思是,当我执行 scene.addWidget(glWidget)
时,函数 (initializeGL
、paintGL
、...) 被调用,但屏幕上没有任何显示。
我不得不说,当我只显示 GLWidget
时:
glWidget = GLWidget(self)
self.setCentralWidget(glWidget)
它工作正常!
提前致谢。
我在 github 中的 PyQt5 示例中找到了解决方案: PyQt5 OpenGL examples
棘手的部分是我必须执行的 initializeGL
函数:
self.gl = self.context().versionFunctions()
self.gl.initializeOpenGLFunctions()
....
希望对您有所帮助!