- class QObjectPicker#
QObjectPicker
类实例化一个组件,可以通过所谓的选择过程与 QEntity 交互。更多信息...摘要#
属性#
方法#
def
__init__()
def
containsMouse()
def
isDragEnabled()
def
isHoverEnabled()
def
isPressed()
def
priority()
槽函数#
def
setDragEnabled()
def
setPriority()
信号#
注意
本文档可能包含从C++到Python自动翻译的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您在翻译中遇到问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建票据来告知我们。
详细描述#
对于视图端口和相机组合的每一个,拾取会在场景中发射一条光线以找到一个与光线相交的边界体积的实体。边界体积使用几何的边界体积位置属性指定的属性缓冲区中的值来计算。
当定义拾取属性属性的边界体积与射线相交时,将发出信号
pressed()
、released()
、clicked()
、moved()
、entered()
和exited()
。大多数信号携带一个
QPickEvent
实例。如果 QPickingSettings::pickMode() 设置为TrianglePicking
,则拾取参数的实际类型将为QPickTriangleEvent
。拾取查询在鼠标按下和释放时执行。如果启用拖动,则在每个鼠标移动时查询也会发生,同时任何按钮都被按下。如果启用悬停,则无论是否按下按钮,都会在每次鼠标移动时进行查询。
有关通用的光线投射查询,请参阅
QRayCaster
和QScreenRayCaster
。注意
不应该共享此组件的实例,不遵守此条件可能导致未定义的行为。
注意
摄像机的远平面值会影响拾取,如果它大于 ~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])#
- 参数:
parent –
QNode
- clicked(pick)#
- 参数:
pick –
QPickEvent
当拣选属性定义的边界体积与鼠标点击时的射线相交时,此信号被发射。
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)#
- 参数:
pick –
QPickEvent
当通过pickAttribute属性定义的边界体积在鼠标移动且有按钮按下的情况下与射线相交时,发出此信号。包含事件的详细信息的
QPickEvent
pick
。- pressed(pick)#
- 参数:
pick –
QPickEvent
当由
pickAttribute
属性定义的包络体积与鼠标按下时交会的光线发生交会时,会发出此信号。QPickEvent
对象的pick
属性包含事件的详细信息。- pressedChanged(pressed)#
- 参数:
pressed – bool
属性
pressed
的通知信号。- priority()#
- 返回类型:
int
另请参阅
setPriority()
属性
priority
的获取器。- priorityChanged(priority)#
- 参数:
priority – int
属性
priority
的通知信号。- released(pick)#
- 参数:
pick –
QPickEvent
当
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
的设置器。