【问题标题】:How to solve pyOpenGL glViewport's error for PyQt5如何解决 PyQt5 的 pyOpenGL glViewport 错误
【发布时间】:2021-11-04 04:51:33
【问题描述】:

我正在尝试使用 pyqtgraph 为应用程序获取 3D 渲染,但我收到一个我不理解的错误。
我在未连接到 Internet 的远程桌面上运行脚本(它必须在远程桌面上运行)。因此,我通过 .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)
)

你知道错误可能来自哪里吗?

【问题讨论】:

  • 尝试在import pyqtgraph.opengl as gl之前移动from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt
  • @eyllanesc 它只是将 cArguments 值更改为 (0, 0, 640, 480) 但仍然显示错误

标签: python pyqt5 pyqtgraph


【解决方案1】:

问题出在显卡驱动程序上。我更新了它,它工作! 如果遇到同样的问题,您应该检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    相关资源
    最近更新 更多