我正在用qt 4.8.6做一个项目并在嵌入式系统(x11)上运行它。一开始,每件事情都很好,但是如果我在构造函数中打开一个代码为QGraphicsView.setViewport(new QGLWidget)
的小部件,它就会闪烁。
如果我将QGLWidget
替换为QWidget
,则可以。通过比较QGLWidget
和QWidget
之间的差异,我试过了这个:
QGraphicsScene* scene = new QGraphicsScene(this);
QGraphicsView* view = new QGraphicsView (scene,this);
view -> setViewport(new QGLWidget);
1 view->viewport()->setWindowFlags(Qt::Widget);
2 view->viewport()->setAutoFillBackground(false);
3 view->viewport()->setAttribute(Qt::WA_PaintOnScreen,false);
4 view->viewport()->setAttribute(Qt::WA_OpaquePaintEvent);
然而,这并不能解决问题。可能是什么问题?