我一直试图让the PyQt5 helloGL example code编译。当我尝试构建解决方案时,我得到:
Traceback (most recent call last):
File "C:\Users\\-PATH-\trunk\view\test.py", line 142, in initializeGL
self.gl = self.context().versionFunctions()
ImportError: No module named 'PyQt5._QOpenGLFunctions_4_3_Compatibility'
[Finished in 0.3s]
在我的PyQt5文件夹中,我有:
^{pr2}$作为不同版本的qopengl函数集。我试图搜索call versionFunctions()的工作原理,看看是否可以强制它使用4_1_核心文件,但是没有用。我已经重新安装了两次PyQt5,看看它是否是奇怪的注册表恶作剧-这是在我确保我的图形驱动程序更新,以便正确版本的OpenGL甚至在我的系统上(如果这是某种原因引起的问题)
PyOpenGL已经安装和更新了,我也重新安装了它。在
我的最终目标是在Qt窗口中嵌入一个OpenGL渲染器,但是我没有在python中找到很多这样做的例子。我使用Vispy有一段时间了,但是也遇到了很多问题,因为他们以前的Qt示例也不再有效。在
这就是使用这两条线的问题:
相反,您应该使用适当的主/次版本创建一个自定义的QSurfaceFormat,并使用QContext的setFormat使其与合适的opengl版本一起工作。在
不管怎样,我推荐你一个简单得多的替代品。对于我所有的pyqt opengl项目,我只是直接在我的小部件上使用PyOpenGL,我免费获得最新的opengl版本。在下面找到适合直接使用PyOpengl的hellogl示例,我还添加了一些例程来打印您的gpu信息,这样您将看到所使用的opengl版本将与您的系统版本相匹配(请使用gpu caps viewer或类似的代码进行检查):
^{pr2}$相关问题 更多 >
编程相关推荐