class QObjectPicker#

QObjectPicker 类实例化一个组件,可以通过所谓的选择过程与 QEntity 交互。更多信息...

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QObjectPicker

摘要#

属性#

方法#

槽函数#

信号#

注意

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

详细描述#

对于视图端口和相机组合的每一个,拾取会在场景中发射一条光线以找到一个与光线相交的边界体积的实体。边界体积使用几何的边界体积位置属性指定的属性缓冲区中的值来计算。

当定义拾取属性属性的边界体积与射线相交时,将发出信号 pressed()released()clicked()moved()entered()exited()

大多数信号携带一个 QPickEvent 实例。如果 QPickingSettings::pickMode() 设置为 TrianglePicking,则拾取参数的实际类型将为 QPickTriangleEvent

拾取查询在鼠标按下和释放时执行。如果启用拖动,则在每个鼠标移动时查询也会发生,同时任何按钮都被按下。如果启用悬停,则无论是否按下按钮,都会在每次鼠标移动时进行查询。

有关通用的光线投射查询,请参阅 QRayCasterQScreenRayCaster

注意

不应该共享此组件的实例,不遵守此条件可能导致未定义的行为。

注意

摄像机的远平面值会影响拾取,如果它大于 ~100 000,则由于浮点精度可能会产生不正确的结果。

另请参阅

QPickingSettings QGeometry QAttribute QPickEvent QPickTriangleEvent QNoPicking

注意

当使用 from __feature__ import true_property 时,可以直接使用属性,否则通过访问器函数。

属性 containsMouseᅟ: bool#

指定对象选择器是否当前包含鼠标

访问函数
属性 dragEnabledᅟ: bool#

指定是否启用拖动

访问函数
属性 hoverEnabledᅟ: bool#

指定是否启用悬停

访问函数
属性 pressedᅟ: bool#

指定对象选择器是否当前被按下

访问函数
属性 priorityᅟ: int#

pickResultMode设置为NearestPriorityPick时,用于按优先级过滤选择结果的优先级。

访问函数
__init__([parent=None])#
参数:

parentQNode

clicked(pick)#
参数:

pickQPickEvent

当拣选属性定义的边界体积与鼠标点击时的射线相交时,此信号被发射。QPickEvent pick 包含事件的详细资料。

containsMouse()#
返回类型

bool

如果当前对象选择器包含鼠标,则返回true

属性 containsMouseᅟ 的获取器。

containsMouseChanged(containsMouse)#
参数:

containsMouse – bool

属性 containsMouseᅟ 的通知信号。

dragEnabledChanged(dragEnabled)#
参数:

dragEnabled – bool

属性 dragEnabledᅟ 的通知信号。

entered()#

当通过pickAttribute属性定义的边界体积与鼠标进入该体积时的射线相交时,发出此信号。

exited()#

当通过pickAttribute属性定义的边界体积与射线在退出体积时相交时,发出此信号。

hoverEnabledChanged(hoverEnabled)#
参数:

hoverEnabled – bool

属性 hoverEnabledᅟ 的通知信号。

isDragEnabled()#
返回类型

bool

如果拖动已启用,则返回true

属性 dragEnabledᅟ 的获取器。

isHoverEnabled()#
返回类型

bool

如果hover已启用,则返回true

属性 hoverEnabledᅟ 的获取器。

isPressed()#
返回类型

bool

属性 pressedᅟ 的获取器。

moved(pick)#
参数:

pickQPickEvent

当通过pickAttribute属性定义的边界体积在鼠标移动且有按钮按下的情况下与射线相交时,发出此信号。包含事件的详细信息的 QPickEvent pick

pressed(pick)#
参数:

pickQPickEvent

当由 pickAttribute 属性定义的包络体积与鼠标按下时交会的光线发生交会时,会发出此信号。QPickEvent 对象的 pick 属性包含事件的详细信息。

pressedChanged(pressed)#
参数:

pressed – bool

属性 pressed 的通知信号。

priority()#
返回类型

int

另请参阅

setPriority()

属性 priority 的获取器。

priorityChanged(priority)#
参数:

priority – int

属性 priority 的通知信号。

released(pick)#
参数:

pickQPickEvent

pickAttribute 属性定义的包络体积与鼠标释放时交会的光线发生交会时,会发出此信号。QPickEvent 对象的 pick 属性包含事件的详细信息。

setDragEnabled(dragEnabled)#
参数:

dragEnabled – bool

将属性 dragEnabled 的值设置为 dragEnabled

另请参阅

isDragEnabled()

属性 dragEnabled 的设置器。

setHoverEnabled(hoverEnabled)#
参数:

hoverEnabled – bool

将属性 hoverEnabled 的值设置为 hoverEnabled

另请参阅

isHoverEnabled()

属性 hoverEnabled 的设置器。

setPriority(priority)#
参数:

priority – int

将选择器的优先级设置为 priority。当在 QPickingSettings 上的选择结果模式设置为 NearestPriorityPick 时使用此功能。选择结果按最高优先级和最短选择距离排序。

另请参阅

priority()

priority 的设置器。