PySide6.Qt3DRender.Qt3DRender.QObjectPicker¶
- class QObjectPicker¶
QObjectPicker类实例化了一个组件,该组件可以通过称为拾取的过程与 QEntity 进行交互。更多…概要¶
属性¶
方法¶
def
__init__()def
containsMouse()def
isDragEnabled()def
isHoverEnabled()def
isPressed()def
priority()
插槽¶
def
setDragEnabled()def
setPriority()
信号¶
def
clicked()def
entered()def
exited()def
moved()def
pressed()def
pressedChanged()def
released()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
对于每个视口和相机的组合,拾取操作会投射一条射线穿过场景,以找到其边界体积与射线相交的实体。边界体积是使用几何体的boundingVolumePositionAttribute指定的属性缓冲区中的值计算的。
当由pickAttribute属性定义的边界体积与射线相交时,会发出
pressed()、released()、clicked()、moved()、entered()和exited()信号。大多数信号携带一个
QPickEvent实例。如果QPickingSettings::pickMode()设置为TrianglePicking,则pick参数的实际类型将是QPickTriangleEvent。拾取查询在鼠标按下和鼠标释放时执行。如果启用了拖动功能,则在按下任何按钮时,每次鼠标移动也会进行查询。如果启用了悬停功能,即使没有按下按钮,每次鼠标移动也会进行查询。
对于广义的光线投射查询,请参见
QRayCaster和QScreenRayCaster。注意
此组件的实例不应共享,不遵守此条件很可能会导致未定义的行为。
注意
相机远平面值如果大于约100 000,会影响拾取并由于浮点精度问题产生不正确的结果。
另请参阅
QPickingSettingsQGeometryQAttributeQPickEventQPickTriangleEventQNoPicking注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property containsMouseᅟ: bool¶
指定对象选择器当前是否包含鼠标
- Access functions:
- property dragEnabledᅟ: bool¶
指定是否启用拖动
- Access functions:
- property hoverEnabledᅟ: bool¶
指定是否启用悬停
- Access functions:
- property pressedᅟ: bool¶
指定对象选择器当前是否被按下
- Access functions:
- property priorityᅟ: int¶
当
pickResultMode设置为NearestPriorityPick时,用于按优先级过滤拾取结果的优先级。- Access functions:
- __init__([parent=None])¶
- Parameters:
parent –
QNode
- clicked(pick)¶
- Parameters:
pick –
QPickEvent
当由pickAttribute属性定义的边界体积与鼠标点击时的射线相交时,会发出此信号。
QPickEventpick包含事件的详细信息。- containsMouse()¶
- Return type:
布尔
如果对象选择器当前包含鼠标,则返回 true
属性
containsMouseᅟ的获取器。- containsMouseChanged(containsMouse)¶
- Parameters:
containsMouse – 布尔值
属性
containsMouseᅟ的通知信号。- dragEnabledChanged(dragEnabled)¶
- Parameters:
dragEnabled – 布尔值
属性
dragEnabledᅟ的通知信号。- entered()¶
当由pickAttribute属性定义的边界体积与鼠标进入体积时的射线相交时,会发出此信号。
- exited()¶
当由pickAttribute属性定义的边界体积与射线在离开体积时相交时,会发出此信号。
- hoverEnabledChanged(hoverEnabled)¶
- Parameters:
hoverEnabled – 布尔值
属性
hoverEnabledᅟ的通知信号。- isDragEnabled()¶
- Return type:
布尔
如果启用了拖动,则返回 true
属性
dragEnabledᅟ的获取器。- isHoverEnabled()¶
- Return type:
布尔
如果启用悬停则返回 true
属性
hoverEnabledᅟ的获取器。- isPressed()¶
- Return type:
布尔
属性
pressedᅟ的获取器。- moved(pick)¶
- Parameters:
pick –
QPickEvent
当由pickAttribute属性定义的边界体积与按下按钮的鼠标移动时的射线相交时,会发出此信号。
QPickEventpick包含事件的详细信息。- pressed(pick)¶
- Parameters:
pick –
QPickEvent
当由pickAttribute属性定义的边界体积与鼠标按下时的射线相交时,会发出此信号。
QPickEventpick包含事件的详细信息。- pressedChanged(pressed)¶
- Parameters:
pressed – 布尔值
属性
pressedᅟ的通知信号。- priority()¶
- Return type:
整数
另请参阅
setPriority()
属性
priorityᅟ的获取器。- priorityChanged(priority)¶
- Parameters:
priority – int
属性
priorityᅟ的通知信号。- released(pick)¶
- Parameters:
pick –
QPickEvent
当由pickAttribute属性定义的边界体积与鼠标释放时的射线相交时,会发出此信号。
QPickEventpick包含事件的详细信息。- setDragEnabled(dragEnabled)¶
- Parameters:
dragEnabled – 布尔值
将
dragEnabled属性设置为dragEnabled另请参阅
isDragEnabled()属性
dragEnabledᅟ的设置器。- setHoverEnabled(hoverEnabled)¶
- Parameters:
hoverEnabled – 布尔值
将
hoverEnabled属性设置为hoverEnabled另请参阅
isHoverEnabled()属性
hoverEnabledᅟ的设置器。- setPriority(priority)¶
- Parameters:
priority – int
设置选择器的优先级为
priority。当QPickingSettings上的选择结果模式设置为NearestPriorityPick时使用此设置。选择结果按最高优先级和最短选择距离排序。另请参阅
priority()属性
priorityᅟ的设置器。