问题标签 [qglwidget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 使用自定义 QGLWidget 调用 Qt 的 QGraphicsView::setViewport
我以前从 QGLWidget 派生,如下所示:
但是,我发现如果我尝试使用我的自定义 QGLWidget 作为视口来初始化 QGraphicsView,则不会调用 initializeGL(在 Qt 库中设置断点,QGLWidget::initializeGL() 在创建时也不会被调用)。
放置当前驻留在 MyGLWidget::initializeGL() 中的代码的正确位置在哪里?
c++ - 求Qt4中使用QGLWidget的建议
我是新来的,有一个关于 Qt4 中 opengl 的问题,我在过去几个月里一直在学习。
特别是,我正在寻求有关使用 QGLWidget 以良好的面向对象方式组成场景的最佳方式的建议。理想情况下,我希望场景中的每个项目都是超级“实体”类的子类。然后在我的主 QGLWidget 中,我可以对实体进行排序并相应地呈现它们。
我注意到虽然需要从 QGLWidget(或小部件的 QGLContext)调用某些 openGL 函数(如 bindTexture)。目前,我正在传递一个指向 QGLWidget 的指针,该指针控制每个实体的主视口并将其存储,以便我可以访问这些函数。这是一个好主意吗?
我们将不胜感激地收到任何建议,甚至是对可能有帮助的好网站/书籍的指导。我有 Blanchette/Summerfield 的书,但是 OpenGL 部分很短,而且 Qt 网站上的大多数示例都非常简单。
谢谢,丹
qt - 如何使用 QGLWidget 显示弹出菜单?
右键单击 QGLWidget 时如何显示上下文菜单?
c++ - 2d HUD 未在 QGLWidget 上正确绘制(使用 QPainter)
我正在尝试在我的 3D 游戏上显示 HUD。对于初学者,我只是想显示“Hello World”,但我还没有成功!一旦我完成,场景就会冻结/闪烁。
我正在使用 Qt/C++ 和 QGLWdiget / QPainter 来完成这项工作。我已使用重绘示例作为开始的参考。这是我所做的:
- 在我自己的子类 GameGL 类( GameGL : public QGLWidget )中覆盖paintEvent(...)
- 将 openGL ModelView 矩阵推送为当前矩阵
- 启用参数作为 gl_depth_test
- 渲染我的游戏(::paintGL1())
- 禁用模型视图参数
弹出模型视图矩阵
制作 QPainter 对象
- 调用paint.drawText()
- 使用paint.end() 刷新
这与示例中提到的几乎相同。但是,当我运行此代码时,它会出现冻结/闪烁并且高度无响应。有人知道为什么会发生这种情况吗?我真的很感激任何帮助。
代码:makeCurrent(); glMatrixMode(GL_MODELVIEW); glPushMatrix();
谢谢
qt - 如何在 QT OpenGL Widget 上使用 OpenGL 函数?
我从 QT 4.6 的示例“OpenGL - 2D 绘画”开始
,它使用 QGLWidget 的子类,并使用 QPainter 类进行绘画操作。
我想知道如何在 OpenGL Widget 上直接使用 OpenGL 函数进行绘图。
qt - QGLWidget 和硬件加速?
大家好,
简单地继承 QGLWidget 并重新实现 paintEvent() 是否使用 OpenGL 和硬件加速?我创建了一个 QPainter 并在这个 paintEvent() 中绘制 QImages。
QGLWidget 的paintEvent() 方法内部发生了什么?它是否将图像(QImage,QPixmap)转换为 OpenGL 纹理?
它是否使用硬件加速来进行图像缩放?
在此先感谢,
qt - QGlWidget 全屏无菜单
我有一个应用程序,它是一个单一的 QGlwidget,需要时创建一个右键单击 QMenu。
数据在被覆盖的paintEvent() 中绘制
但在全屏模式下,菜单不显示。我是否更好地将 QGraphicsScene 作为父窗口并将 QGlWidget 作为唯一的孩子?
macos - QtOpenGL 和 MacOS X——软件渲染?
我正在开发一个跨平台的应用程序,对 Mac 平台不是很熟悉。我将 Qt 用于 GUI。我使用 QGLWidget 来确保绘图(使用 QPainter)是在 OpenGL 中完成的。
我的项目在 XCode 中构建良好并运行。然而,在 Windows 和 Linux 机器上速度不是问题的情况下,绘图速度非常慢。Macbook 有一个 Nvidia GPU,而 Windows 机器只有板载英特尔显卡。
当我查看二进制文件时,似乎在链接到 QtOpenGL 库时,它并没有明确地链接到 GL 库本身。
如何测试硬件加速是否有效或软件后备渲染是否有效?
我的二进制链接不应该是到 GL lib,还是隐藏为递归依赖?
c++ - 如何全屏显示 QGLWidget?
我是 OpenGL 和 Qt 的新手,我正在同时学习两者(已经 3 天了:)。几年前,我对 DirectX 进行了一些实验,我清楚地记得可以在那里制作一个全屏窗口。全屏是指真正的全屏,即使没有关闭全屏和最小化按钮的顶部。
到目前为止我有这个程序:
我应该添加什么以使 w 全屏显示?
c++ - initializeGL 中的 QMessageBox 再次调用 initializeGL
在 catch() 中显示消息框,执行再次进入 initializeGL(),并显示第二个消息框
我试图通过 bool 变量避免这种情况:
但这会导致崩溃。所以我决定在paintGL()中显示错误(它还显示了2个消息框):
这解决了问题,但代码很难看。这个问题有更好的解决方案吗?
Qt4.7 VS2008