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