我不能在QOpenGLWidget上画画

I can't paint on QOpenGLWidget

本文关键字:QOpenGLWidget 不能      更新时间:2023-10-16

我是Qt的新手,我正在制作一个应用程序,可以生成一个3D对象,其中包含用户在GUI中提供的一些点。用户定义点,然后在同一窗口中,QOpenGLWidget绘制最终对象。但是,QOpenGLWindow不会绘制模型(只有GlCLearColor)。我已经尝试了相同的函数,但在 main 中的 app.exec() 之前调用,它工作正常。

我不知道发生了什么。在使用vao和vbo之前,我尝试过调用makeCurrent(),但它不起作用。

我还没有创建任何线程或 fbo。

当我在使用vao和vbo之前尝试makeCurrent时,我得到了: "QOpenGLBuffer::bind: 缓冲区在当前上下文中无效" "QOpenGLShaderProgram::bind: program在当前上下文中无效。

编辑我重新尝试在 vao、vbo 和着色器绑定之前使当前当前,并且消息消失了,但小部件没有绘制对象。

我也在绘制后尝试了QOPenGLWidget::update()。它不会通过调整大小进行绘制。 我正在使用OpenGL 4.1核心配置文件和Qt 5.12.3

我已经解决了!我只是忘了在着色器中设置统一值之前使当前。