PySide6.Qt3DCore.Qt3DCore.QAspectEngine

class QAspectEngine

负责处理所有已注册到场景中的QAbstractAspect子类。更多

PySide6.Qt3DCore.Qt3DCore.QAspectEngine 的继承图

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

Qt3D 运行循环由 Qt3DRender::QAspectEngine 控制。

QAbstractAspect 子类可以通过调用 Qt3DCore::QAspectEngine::registerAspect() 来注册,该函数将负责注册方面,并随后调用 Qt3DCore::QAbstractAspect::onRegistered();

一旦在QAspectEngine上设置了根QEntity,模拟循环就会启动。随后,每个方面都会调用onEngineStartup(),以便它们可以开始模拟工作。

当根实体设置为Qt3DCore::QEntityPtr()时,模拟循环停止。这会在每个方面调用onEngineShutdown(),以便它们可以停止执行模拟工作。

设置一个新的有效根实体将再次重新启动模拟循环。

class RunMode
__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个新的QAspectEngine

aspect(name)
Parameters:

name – str

Return type:

QAbstractAspect

返回与name匹配的方面

注意

要求方面已通过名称注册

aspects()
Return type:

Qt3DCore.QAbstractAspect的列表

返回由方面引擎拥有的方面。

executeCommand(command)
Parameters:

command – str

Return type:

对象

在aspect引擎上执行给定的command。有效的命令有:

  • “列出方面”

返回命令的回复。

lookupNode(id)
Parameters:

idQNodeId

Return type:

QNode

lookupNodes(ids)
Parameters:

ids – .Qt3DCore.QNodeId 的列表

Return type:

Qt3DCore.QNode的列表

processFrame()

如果使用手动运行模式,此函数将执行每个方面的作业。它是阻塞的,直到所有作业完成后才会返回。

如果您正在使用QRenderAspect,

registerAspect(aspect)
Parameters:

aspectQAbstractAspect

向AspectManager注册一个新的aspectQAspectEngine将拥有该aspect的所有权,并在aspect注销时删除它。

registerAspect(name)
Parameters:

name – str

根据其name向AspectManager注册一个新的切面。使用当前设置的切面工厂来创建实际的切面实例。

rootEntity()
Return type:

QSharedPointer

返回方面引擎的根实体。

另请参阅

setRootEntity()

runMode()
Return type:

RunMode

setRootEntity(root)
Parameters:

rootQSharedPointer

设置方面引擎的root实体。

另请参阅

rootEntity()

setRunMode(mode)
Parameters:

modeRunMode

unregisterAspect(aspect)
Parameters:

aspectQAbstractAspect

注销并删除给定的aspect

unregisterAspect(name)
Parameters:

name – str

注销并删除具有给定name的方面。