scarecr0w132
1st February 2015, 08:55
Hello,
I am using QGraphicsView with the viewport as QGLWidget.
QGraphicsView and a QTreeView are added to a QSplitter.
Sliding the QSplitter results in flickering on the QGraphicsView.
Adding QGLWidget without QGraphicsView to the QSplitter works as expected.
The following code demonstrates Flickering with QGraphicsView, and no flickering without QGraphicsView when sliding the QSplitter.
#include <QtGui>
#include <QGLWidget>
#include <QtWidgets>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
// Flickering occurs when sliding a QSplitter with QGraphicsView (viewport QGLWidget).
QGraphicsView *view = new QGraphicsView();
view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
view->setScene(new QGraphicsScene);
QSplitter *graphicsViewSplitter = new QSplitter();
graphicsViewSplitter->addWidget(new QTreeView());
graphicsViewSplitter->addWidget(view);
graphicsViewSplitter->show();
// This works ok with a normal QGLWidget added to a QSplitter.
QSplitter *openGlSplitter = new QSplitter();
openGlSplitter->addWidget(new QTreeView());
openGlSplitter->addWidget(new QGLWidget());
openGlSplitter->show();
return app.exec();
}
Is there a fix for this?
Thanks
I am using QGraphicsView with the viewport as QGLWidget.
QGraphicsView and a QTreeView are added to a QSplitter.
Sliding the QSplitter results in flickering on the QGraphicsView.
Adding QGLWidget without QGraphicsView to the QSplitter works as expected.
The following code demonstrates Flickering with QGraphicsView, and no flickering without QGraphicsView when sliding the QSplitter.
#include <QtGui>
#include <QGLWidget>
#include <QtWidgets>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
// Flickering occurs when sliding a QSplitter with QGraphicsView (viewport QGLWidget).
QGraphicsView *view = new QGraphicsView();
view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
view->setScene(new QGraphicsScene);
QSplitter *graphicsViewSplitter = new QSplitter();
graphicsViewSplitter->addWidget(new QTreeView());
graphicsViewSplitter->addWidget(view);
graphicsViewSplitter->show();
// This works ok with a normal QGLWidget added to a QSplitter.
QSplitter *openGlSplitter = new QSplitter();
openGlSplitter->addWidget(new QTreeView());
openGlSplitter->addWidget(new QGLWidget());
openGlSplitter->show();
return app.exec();
}
Is there a fix for this?
Thanks