如何解决pyOpenGL glViewport's error for PyQt5
How to solve pyOpenGL glViewport's error for PyQt5
我正在尝试使用 pyqtgraph 为应用程序获取 3D 渲染,但我收到一个我不明白的错误。
我在未连接到互联网的远程桌面上 运行ning 脚本(它必须 运行 到远程桌面上)。因此,我通过 .whl 文件安装了 pyqtgraph、pyopenGL 和 pyqt5(已经安装了 Anaconda 发行版)
这是一个应该只显示空白 glViewport 的小代码:
# -*- coding: utf-8 -*-
import sys
import pyqtgraph.opengl as gl
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
class Render3D(object):
def __init__(self):
self.app = QApplication(sys.argv)
self.fen = QWidget(flags=Qt.Dialog)
self.fen.setGeometry(100, 100, 1000, 800)
self.fen.setWindowTitle("My window")
self.disposition = QGridLayout()
# viewport
self.w = gl.GLViewWidget()
self.disposition.addWidget(self.w, 0, 0)
self.fen.setLayout(self.disposition)
self.fen.show()
sys.exit(self.app.exec_())
if __name__ == "__main__":
test = Render3D()
我知道我的视口中没有项目(故意停用,因为错误来自视口本身)。我可以在另一台计算机上 运行 这个脚本而不会出现任何错误。
这是我在远程桌面上遇到的错误:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\pyqtgraph\opengl\GLViewWidget.py", line 246, in paintGL
glViewport(*self.getViewport())
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenGL\platform\baseplatform.py", line 415, in __call__
return self( *args, **named )
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenGL\error.py", line 230, in glCheckError
raise self._errorClass(
OpenGL.error.GLError: GLError(
err = 1282,
description = b'op\xe9ration non valide',
baseOperation = glViewport,
cArguments = (0, 0, 978, 778)
)
您知道错误可能来自哪里吗?
问题出在显卡驱动上。我更新了它并且它有效!
如果遇到同样的问题,你应该检查一下。
我正在尝试使用 pyqtgraph 为应用程序获取 3D 渲染,但我收到一个我不明白的错误。
我在未连接到互联网的远程桌面上 运行ning 脚本(它必须 运行 到远程桌面上)。因此,我通过 .whl 文件安装了 pyqtgraph、pyopenGL 和 pyqt5(已经安装了 Anaconda 发行版)
这是一个应该只显示空白 glViewport 的小代码:
# -*- coding: utf-8 -*-
import sys
import pyqtgraph.opengl as gl
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
class Render3D(object):
def __init__(self):
self.app = QApplication(sys.argv)
self.fen = QWidget(flags=Qt.Dialog)
self.fen.setGeometry(100, 100, 1000, 800)
self.fen.setWindowTitle("My window")
self.disposition = QGridLayout()
# viewport
self.w = gl.GLViewWidget()
self.disposition.addWidget(self.w, 0, 0)
self.fen.setLayout(self.disposition)
self.fen.show()
sys.exit(self.app.exec_())
if __name__ == "__main__":
test = Render3D()
我知道我的视口中没有项目(故意停用,因为错误来自视口本身)。我可以在另一台计算机上 运行 这个脚本而不会出现任何错误。
这是我在远程桌面上遇到的错误:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\pyqtgraph\opengl\GLViewWidget.py", line 246, in paintGL
glViewport(*self.getViewport())
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenGL\platform\baseplatform.py", line 415, in __call__
return self( *args, **named )
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenGL\error.py", line 230, in glCheckError
raise self._errorClass(
OpenGL.error.GLError: GLError(
err = 1282,
description = b'op\xe9ration non valide',
baseOperation = glViewport,
cArguments = (0, 0, 978, 778)
)
您知道错误可能来自哪里吗?
问题出在显卡驱动上。我更新了它并且它有效! 如果遇到同样的问题,你应该检查一下。