【发布时间】:2012-07-09 17:58:25
【问题描述】:
我基本上想做的是创建QGLWidget 的一个实例(或者更确切地说是QGLWidget 的派生类),将其添加到QMainWindow,然后访问QGLWidget 的渲染来自我的 QTCreator 程序中任何地方的上下文,以便能够在我选择的任何地方调用裸 OpenGL。
我尝试过的事情:
1) 创建一个名为OGLWidget 的QGLWidget 的子类并将其制成单例,然后尝试将单例类“OGLWidget”子类化。我认为这将使我能够访问 OGLWidget 单例使用的相同渲染上下文,但它不起作用。
2) 使用构造函数QGLWidget(QWidget * parent, QGLWidget * shared, Qt::WindowFlags)。对于这个,我尝试将单例对象转换为 QGLWidget,然后在我将 QGLWidget 子类化到另一个名为“Display”的类中时将其粘贴在此构造函数中。我尝试在每个类 openGl 调用之前调用 makeCurrent ,但只有原始单例会绘制。我还检查了 isSharing 并返回 true。
【问题讨论】: