如何在QGraphicsView中为QOpenGLWidget启用抗锯齿?

lem*_*mta 6 qt qgraphicsview qt5.4

我已经通过QGraphicsProxyWidget将QOpenGLWidget添加到QGraphicsView(不使用setviewport):

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);
Run Code Online (Sandbox Code Playgroud)

我尝试了一些方法,但没有用:glwidget如果样本= 4,则显示黑屏,但样本= 1可以,但不能抗锯齿。那么,如何在QGraphicsView中为QOpenGLWidget(由GraphicsproxyWidget添加)启用抗锯齿功能?

有帮助吗?谢谢!

小智 5

将代码附加到 qapplication 初始化下的 main.cpp 中

QSurfaceFormat fmt;
fmt.setSamples(10); 
QSurfaceFormat::setDefaultFormat(fmt);
Run Code Online (Sandbox Code Playgroud)