我正在为一个嵌入式平台开发一个 QML 应用程序,其中包括一个包含图像的 GridView 小部件。对我来说重要的是滚动 GridView 将是平滑的并且不会给 CPU 带来负载。我可以期望 Qt 使用 OpenGL 来呈现 GridView 吗?
问问题
8316 次
3 回答
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。
于 2011-06-29T10:01:01.943 回答
3
取决于您的平台使用
QApplication::setGraphicsSystem(QLatin1String("opengl"));
或(塞班)
QApplication::setGraphicsSystem(QLatin1String("openvg"));
在实例化 QApplication 对象之前。
于 2011-06-27T18:33:22.690 回答
2
默认情况下,Qt 不使用 OpenGL 渲染后端。您可以通过使用 QGlWidget 来强制执行它。在您的情况下,当您想使用股票小部件时,您可以将渲染后端设置为命令行选项:
<binary name> -graphicssystem opengl
于 2011-06-27T17:37:38.567 回答