使用OpenGL进行Qt渲染

时间:2011-06-27 12:51:47

标签: qt opengl qml

我正在开发一个嵌入式平台的QML应用程序,其中包含一个包含图像的GridView小部件。对我来说重要的是滚动GridView将是平滑的并且不会在CPU上加载。我可以期待Qt使用OpenGL来渲染GridView吗?

3 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。

QApplication::setGraphicsSystem(QLatin1String("opengl"));

对我不起作用。所以我将OGWidget设置为视口:

QDeclarativeView mainwindow;
mainwindow.setSource(QUrl::fromLocalFile("./qml/app.qml"));
QGLFormat format = QGLFormat(QGL::DirectRendering); // you can play with other rendering formats like DoubleBuffer or SimpleBuffer
format.setSampleBuffers(false);
QGLWidget *glWidget = new QGLWidget(format);
glWidget->setAutoFillBackground(false);
mainwindow.setViewport(glWidget);

并且不要忘记在* .pro文件中添加opengl。

答案 1 :(得分:3)

取决于您的平台使用

QApplication::setGraphicsSystem(QLatin1String("opengl"));

或(Symbian)

QApplication::setGraphicsSystem(QLatin1String("openvg"));

在实例化QApplication对象之前。

答案 2 :(得分:2)

默认情况下,Qt不使用OpenGL渲染后端。您可以使用QGlWidget强制执行它。在您的情况下,由于您要使用库存小部件,您可以将渲染后端设置为命令行选项:

<binary name> -graphicssystem opengl