问题
I have added QOpenGLWidget to QGraphicsView (don't use setviewport) via QGraphicsProxyWidget:
QSurfaceFormat format= QSurfaceFormat();
format->setSamples(4); //<== widget show black screen if samples =4, 1 is ok but not antialiasing
m_glWidget->setFormat(format);
MyGraphicsProxyWidget* proxy= new MyGraphicsProxyWidget();
proxy->setWidget(m_glWidget);
//add to scene
scene->addItem(proxy);
I've tried some ways but not work: glwidget show black screen if samples =4, but samples = 1 is ok but not antialiasing. So how to enable antialiasing for QOpenGLWidget (added by GraphicsproxyWidget) in QGraphicsView?
Any helps? Thanks!
回答1:
append beyond code to your main.cpp under qapplication initialization
QSurfaceFormat fmt;
fmt.setSamples(10);
QSurfaceFormat::setDefaultFormat(fmt);
来源:https://stackoverflow.com/questions/28417423/how-to-enable-antialiasing-for-qopenglwidget-in-qgraphicsview