是否可以在不先显示小部件的情况下使用像glGetString
这样的GL函数?
基本用例是采用这个helloworld,而不是显示小部件,也许我想打印带有GPU信息和GL版本的命令行使用消息。脚本当前已在显示小部件后执行此操作。
在我自己的应用程序中,我有一个QOpenGLWidget
的子类,我尝试手动创建一个QOpenGLContext
,设置格式,并使其当前(有和没有.create()
(,但这似乎不起作用。子类在显示时似乎工作正常。
任何帮助都非常感谢。
更多细节:我是python库vispy的维护者之一,我正在尝试更新我们的PyQt5后端以使用QOpenGLWidget
而不是QGLWidget
。如果有人想告诉我们我们做错了什么,拉取请求就在这里:https://github.com/vispy/vispy/pull/1394
OpenGL 上下文需要一个"窗口"(确切地说需要一个"Device Contex"或"Display",具体取决于操作系统(来呈现。该窗口不需要可见,只需 gl 上下文是最新的。
最简单的方法是在创建窗口时hide()
(或不调用show()
(。您可以稍后将其设置为可见。