Qt QPainter in paintEvent消除了使用paintGL绘制的图形

Qt QPainter in paintEvent eliminates the graphic drawn with paintGL

本文关键字:paintGL 绘制 图形 in QPainter paintEvent Qt      更新时间:2023-10-16

我有以下代码

void QMyWidget::paintEvent(QPaintEvent *event)
{
    updateGL(); // This calls for initializeGL and then paintGL and draws a nice openGL 3D scene

    QPainter painter(this); 
    // Draw something with QPainter..
}

问题是QPainter行多次调用initializeGL和paintGL,并最终在OpenGL渲染的场景上创建一个BLANK/GRAY区域。。如果我试图用QPainter绘制类似drawText的东西,则会显示文本,但文本的背景是一个灰色矩形,它完全覆盖了OpenGL绘制的场景。

这个怎么了?

已解决:多通道渲染已停用,因此场景被多次渲染