PySide6.QtQuick3D.QQuick3D¶
- class QQuick3D¶
用于选择正确表面格式的辅助类。更多…
概要¶
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
在使用Qt Quick 3D与OpenGL时,需要采取额外的步骤来定义在初始化Qt Quick时使用哪种表面格式。这是因为当Qt Quick意识到正在使用3D内容时,OpenGL上下文和窗口表面已经初始化。因此,提供了这个辅助类来从Qt Quick 3D请求理想的表面格式,以便在初始化之前将其设置为Qt Quick的默认表面。
如果此助手在使用除OpenGL以外的任何其他渲染后端时运行,则它仅返回当前默认QSurfaceFormat的副本,并带有请求的样本。
如果此助手在使用OpenGL渲染后端时运行,那么它将测试是否支持足够现代的OpenGL版本以及是否支持多采样(如果请求)。通常,Qt Quick会请求OpenGL 2.0或OpenGL ES 2.0上下文,这将限制在使用Qt Quick 3D时可用的功能,因此需要额外的步骤来请求一个功能更强的上下文。
正确的使用模式是调用QSurfaceFormat::setDefaultFormat来设置由
idealSurfaceFormat返回的QSurfaceFormat。重要的是,此方法应在构建QGuiApplication之后调用,但在加载Qt Quick应用程序内容之前。此代码片段显示了正确的使用模式:#include <QGuiApplication> #include <QQmlApplicationEngine> #include <QtGui> #include <QtQuick3D/qquick3d.h> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QSurfaceFormat::setDefaultFormat(QQuick3D::idealSurfaceFormat(4)); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; return app.exec(); }
- static idealSurfaceFormat([samples=-1])¶
- Parameters:
样本 – int
- Return type:
返回平台的理想表面格式。可选地,可以指定
samples来选择用于抗锯齿的多重采样数量。