我有主要代码,用于实例化基本图形视图和图形Web视图,以便在嵌入式设备上呈现HTML内容:
QRectF fullScreen(0, 0, 1024, 600);
QGraphicsScene scene(fullScreen);
QGraphicsView view;
view.setScene(&scene);
QGraphicsWebView *webView = new QGraphicsWebView;
scene.addItem(webView);
view.show();
webView->setUrl(someUrlThatsNotImportant);
现在我的表现相当不错,但我希望尽可能地最大化。为此,我正在运行我的应用程序:
QT_QPA_EGLFS_SWAPINTERVAL=0 QT_QPA_EGLFS_DEBUG=1 myProg
让它忽略垂直同步。但是,无论我为交换间隔输入了什么值,调试输出似乎表明它忽略了它:
Created context for format QSurfaceFormat(version 2.0,
options QFlags(), depthBufferSize 0, redBufferSize 4,
greenBufferSize 4, blueBufferSize 4, alphaBufferSize 0,
stencilBufferSize 0, samples 0,
>> swapBehavior 0, swapInterval 1,
profile 0) with config:
如何让Qt真正使用正确的值?
我可能不得不在代码中执行此操作,特别是如果是交换行为指示间隔,因为没有用于设置所述行为的环境变量。
如果是这种情况,我会忍受它,但后来我不知道如何从我已经证实的对象中获得能够指定该行为的基础QSurfaceFormat
。从(可能)QGraphicsView
到正在使用的QSurfaceFormat
的正确方法是什么?