- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 QMainWindow
实例 w
中嵌入了一个 QOpenGLWidget
。编译正常。但是在调试时,程序在 w.show()
处崩溃。
错误对话框显示:
Exception thrown at 0x000007FEE5AF4469 (d3d11sdklayers.dll) in TestQtOpenGL.exe: 0xC0000005: Access violation reading location 0x00000806E5B03A98.
调用堆栈是:
d3d11sdklayers.dll!000007fee5af4469() Unknown
d3d11sdklayers.dll!000007fee5ad2971() Unknown
libGLESv2d.dll!000007fed7d58a8d() Unknown
libGLESv2d.dll!000007fed7d56313() Unknown
libGLESv2d.dll!000007fed7d55521() Unknown
libGLESv2d.dll!000007fed7b2308a() Unknown
libGLESv2d.dll!000007fed7b24f1b() Unknown
libGLESv2d.dll!000007fed79dbba8() Unknown
libGLESv2d.dll!000007fed7bf2678() Unknown
libEGLd.dll!000007feecd1209d() Unknown
qwindowsd.dll!000007fed86752ac() Unknown
qwindowsd.dll!000007fed8674906() Unknown
qwindowsd.dll!000007fed8602d55() Unknown
qwindowsd.dll!000007fed8602999() Unknown
qwindowsd.dll!000007fed860223b() Unknown
qwindowsd.dll!000007fed86020fe() Unknown
Qt5Guid.dll!000007fed93a18a0() Unknown
Qt5Widgetsd.dll!0000000057d55dc2() Unknown
Qt5Widgetsd.dll!0000000057d97037() Unknown
Qt5Widgetsd.dll!0000000057d95d45() Unknown
Qt5Widgetsd.dll!0000000057d439f6() Unknown
Qt5Widgetsd.dll!0000000057d95fa9() Unknown
Qt5Widgetsd.dll!0000000057ce700e() Unknown
Qt5Widgetsd.dll!0000000057ce46c6() Unknown
Qt5Cored.dll!0000000058c15af6() Unknown
Qt5Cored.dll!0000000058c20c32() Unknown
Qt5Widgetsd.dll!0000000057d520b0() Unknown
Qt5Widgetsd.dll!0000000057d523f0() Unknown
Qt5Widgetsd.dll!0000000057d3dd71() Unknown
Qt5Widgetsd.dll!0000000057d3e0c9() Unknown
Qt5Widgetsd.dll!0000000057d50b12() Unknown
Qt5Widgetsd.dll!0000000057d52411() Unknown
Qt5Widgetsd.dll!0000000057d3dd71() Unknown
Qt5Widgetsd.dll!0000000057d3e0c9() Unknown
> TestQtOpenGL.exe!main(int argc, char * * argv) Line 9 C++ TestQtOpenGL.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 104 C++
[External Code]
演示:
// main.cpp
#include "TestQtOpenGL.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
/*
* According to some solutions, I have tried the following
* codes, but no use.
*/
// QSurfaceFormat format; format.setDepthBufferSize(24);
// format.setStencilBufferSize(8);
// format.setVersion(4, 3);
// format.setProfile(QSurfaceFormat::CoreProfile);
// QSurfaceFormat::setDefaultFormat(format);
QApplication a(argc, argv);
TestQtOpenGL w;
w.show();
return a.exec();
}
// TestQtOpenGL.h
#pragma once
#include <QtWidgets/QMainWindow>
#include <qopenglwidget.h>
class TestQtOpenGL : public QMainWindow
{
Q_OBJECT
public:
TestQtOpenGL(QWidget *parent = Q_NULLPTR);
private:
QOpenGLWidget *glwidget;
};
// TestQtOpenGL.cpp
#include "TestQtOpenGL.h"
TestQtOpenGL::TestQtOpenGL(QWidget *parent)
: QMainWindow(parent)
{
setFixedSize(800, 600);
glwidget = new QOpenGLWidget(this);
setCentralWidget(glwidget);
}
环境:
根据@Aleph0 的建议,我使用 [Visual Studio]->[Debug]->[Windows]->[Modules] 调查了加载的模块。但是我没有发现任何可疑的 DLL。模块列表已上传here .
最佳答案
受到@RoQuOTriX 的启发,我以一种非常简单的方式解决了这个问题:
在 Windows 设备管理器中更新图形驱动程序。然后重启。重新编译,问题消失。
请注意,我的显卡是 Intel HD Graphics。如果您使用的是独立显卡,则可能需要从设备提供商处获取显卡驱动程序更新。
关于c++ - QOpenGLWidget 粉碎显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57671697/
与my other question相关,我正在尝试渲染分割蒙版以启用对象拾取。但是我无法达到预期的结果。 选项 1 根本不起作用。我无法检索颜色附件 1 的内容,也无法检查它是否存在(我仅使用 na
我只是想知道 Qt 上的 QOpenGLWidget(我使用的是 5.4 版)是否可以在没有子类化的情况下使用。 在 Qt Creator 表单编辑器中,有一个 Display 小部件可以插入到名为“
以前我用 opengl 创建 qt 应用程序有困难,我总是设法用 SDL 或 glfw + glew 创建一个纯 opengl 应用程序。 但我按照大家在视频中所做的程序,创建了一个派生自 QOpen
我正在使用 Qt 和 OpenGL 开发 3D 应用程序。该应用程序由 QMainWindow 和 QOpenGLWidget 作为中央小部件和 QML UI 作为停靠小部件组成。我意识到用户输入和
我在 QMainWindow 实例 w 中嵌入了一个 QOpenGLWidget。编译正常。但是在调试时,程序在 w.show() 处崩溃。 错误对话框显示: Exception thrown at
我正在尝试使用四边形作为纹理,使用 QOpenGLWidget 渲染一个简单的二维图像。但无论我尝试什么,我总是得到一个黑盒子。 我看了很多教程,我有一个像这样的简单像素缓冲区 uchar* m_pD
你是我解决这个问题的最后手段,因为我没有想法。所以首先,我已经完成了一些 openGL 的工作,但没有使用 Qt 库。 由于 Qt Android 编译器,我必须使用 Qt 库来完成它,所以我别无选择
我对QOpenGLWidget和它的背景颜色有一点小问题。。当我想使用QPainter在我的自定义QOpenGLWidget上创建半透明的RECT时,有两种不同的结果:。以下是QPainter的代码示
我想将第二个渲染目标添加到 QOpenGLWidget 的默认帧缓冲区。 原因是我想通过将分割掩码渲染到 gl_FragData[1] 来实现对象拾取并检查用户是否击中对象。不幸的是,您只能从小部件中
我正在尝试使用 QOpenGLWidget 来显示一些图像,而不是使用 QLabel。但我对如何做到这一点感到有点困惑。 为了让小部件完成工作,我知道我需要重新实现 initializeGL() 方法
我有一个隐藏的 QOpenGLWidget(Qt 5.4.2,不是 QGLWidget),我想基本上不断地执行grab()或grabFramebuffer()来获取其内容(并将其写入磁盘)。该小部件在
我正在尝试编写一个使用 QOpenGLWidget 的 C++ 应用程序,但是 Qt Creator 在这一行给出了“‘QOpenGLWidget’文件未找到”错误: #include 文档说 QO
我正在尝试使用 QOpenGLWidget 而无需子类化。 当我尝试在 QOpenGLWidget 的方法或信号之外进行 OpenGL 调用时,似乎什么也没有发生。例如,尽管我设置了 glClearC
你好,我有一个基于 Qt 使用 QOpenGLWidget 的应用程序。在 OpenGL 小部件(在我的代码中名为 oglwidget)中,我使用 opengl 函数绘制网格和线条。然后我使用 QPa
我想解决我仍在处理的问题..那就是在不同的顶级窗口中使用共享着色器程序等同时渲染 2 个 QOpenGLWidgets。 我的第一次尝试是使用一个上下文,但没有成功。 目前 QOpenGLWidget
我一直在使用带有 QOpenGLWindow 的着色器文件并使用版本 330 着色器,一切正常。但是想要切换为 Widget 以便能够将其停靠在我的应用程序主窗口中。从那以后,我一直在努力获得正确的上
我们有一个基于 QWidget 的应用程序,它以前使用 QWindow 进行 OpenGL 渲染。为了在我们的应用程序中适应该窗口,我们必须使用 QWidget QWidget::createWind
我正在尝试使用 QOpenGLWidget 在 Qt 内部使用 OpenGL,但我很难找到任何相关示例。我是 OpenGL 的新手,所以我想学习如何使用它,但我发现的教程似乎在 QOpenGLWidg
我想在 QOpenGLWidget 上绘制文本标签。我尝试使用 QPainter 来完成此任务,但没有成功 - 文本看起来很丑陋且没有抗锯齿。它在 Qt OpenGL/2dpainting 示例中看起
调试时的确切崩溃是: The inferior stopped because it triggered an exception. Stopped in thread 0 by: Exception
我是一名优秀的程序员,十分优秀!