python - PyQt5:从 QtOpenGLWidget 获取 GL 参数而不先显示
问题描述
是否可以在不先显示小部件的情况下使用 GL 功能glGetString
?
基本用例将采用这个helloworld,而不是显示小部件,也许我想打印带有 GPU 信息和 GL 版本的命令行使用消息。该脚本当前在显示小部件后已经执行此操作。
在我自己的应用程序中,我有一个 a 的子类,QOpenGLWidget
我尝试手动创建 a QOpenGLContext
,设置格式并使其成为最新的(有和没有.create()
),但这似乎不起作用。子类在显示时似乎工作正常。
任何帮助深表感谢。
更多细节:我是 python 库 vispy 的维护者之一,我正在尝试更新我们的 PyQt5 后端以使用QOpenGLWidget
而不是QGLWidget
. 如果有人想告诉我们我们做错了什么,拉请求就在这里:https ://github.com/vispy/vispy/pull/1394
解决方案
OpenGL 上下文需要一个“窗口”(确切地需要一个“设备上下文”或“显示器”,具体取决于操作系统)来渲染。该窗口不需要可见,只需要 gl 上下文是当前的。
最简单的方法是在创建窗口时hide()
(或不调用)。show()
您可以稍后使其可见。
推荐阅读
- android - 单击按钮并将数据显示到recyclerview android时如何更改firestore的查询
- spring-boot - 日志中未打印 Spring 横幅
- javascript - jquery wordpress Uncaught TypeError:无法读取未定义的属性“消息”
- git - 在 gitpod 中增加超时
- sql - 同时进行左连接和清理值吗?
- c# - C# List.Add() 在方法中作为参数。不同的列表类型(int 和 string)
- c - string.h 中的函数 strspn 无法正常工作
- c# - 如何检测 BitmapEncoder 保存方法是否完成
- java - 如何访问构造函数中定义的字段?
- c - 在 C 中编译时出现问题,但包含时未检测到结构