我已经通过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);
我尝试了一些方法,但没有工作: 如果samples = 4,glwidget显示黑屏,但samples = 1可以,但不是抗锯齿。 那么如何在QGraphicsView中为QOpenGLWidget(由GraphicsproxyWidget添加)启用抗锯齿?
有什么帮助吗?谢谢!
答案 0 :(得分:3)
在qapplication初始化
下将代码附加到main.cpp之外QSurfaceFormat fmt;
fmt.setSamples(10);
QSurfaceFormat::setDefaultFormat(fmt);