class QPointingDevice#

QPointingDevice描述了一个设备,该设备产生鼠标、触摸或平板设备的事件。更多

Inheritance diagram of PySide6.QtGui.QPointingDevice

摘要#

属性#

方法#

信号#

静态函数#

注意

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

详细说明#

每个QPointerEvent都包含一个指向QPointingDevice的指针,以便访问设备特有的属性,如类型和能力。平台或通用插件需要在生成任何指针事件之前通过QWindowSystemInterface注册可用的指针设备。应用程序不需要实例化此类,只需要通过device()访问其指向的全局实例即可。

class PointerType#

(继承自:enum.Flag)此枚举表示与指针设备交互的是什么。

此属性与DeviceType之间存在一些冗余。例如,如果使用了触摸屏,则DeviceTypeTouchScreenPointerTypeFinger(总是)。但在数位板上,经常可以同时使用笔的两端,程序需要区分它们。因此,此概念被扩展,使得每个QPointerEvent都有一个PointerType,这可以简化一些事件处理代码,使得可以忽略DeviceType,只根据PointerType做出不同的反应。

有效值

常量

描述

QPointingDevice.PointerType.Unknown

指针类型未知。

QPointingDevice.PointerType.Generic

鼠标或其他类似鼠标的设备(X11上的核心指针)。

QPointingDevice.PointerType.Finger

用户的指尖。

QPointingDevice.PointerType.Pen

笔尖的绘画端。

QPointingDevice.PointerType.Eraser

笔的另一端(如果另一端有一个虚拟橡皮擦)。

QPointingDevice.PointerType.Cursor

类似Puck设备上的透明圆形十字准星。

QPointingDevice.PointerType.AllPointerTypes

以上任何一种(用作默认过滤器值)。

class GrabTransition#

此枚举表示从一个对象(可能为 nullptr)切换到另一个对象(可能为 nullptr)的独占或被动捕获的转换。它作为 grabChanged() 信号的参数发出。

有效值

常量

描述

QPointingDevice.GrabExclusive

setExclusiveGrabber() 之后发出。

QPointingDevice.UngrabExclusive

在将抓取器设置为 nullptr 后,通过 setExclusiveGrabber() 发出,以通知已正常终止捕获。

QPointingDevice.CancelGrabExclusive

在将抓取器设置为不同的对象后,通过 setExclusiveGrabber() 发出,以通知旧抓取器的捕获被“窃取”。

QPointingDevice.GrabPassive

addPassiveGrabber() 之后发出。

QPointingDevice.UngrabPassive

在正常终止被动捕获时发出,例如在 removePassiveGrabber() 之后。

QPointingDevice.CancelGrabPassive

在被动捕获异常终止(手势被取消)时发出。

QPointingDevice.OverrideGrabPassive

此值目前未使用。

注意

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

property buttonCount: int#
访问函数
property maximumPoints: int#
访问函数
property pointerType: QPointingDevice.PointerType#
访问函数
property uniqueId: QPointingDeviceUniqueId#
访问函数
__init__([parent=None])#
参数:

父对象QObject

创建一个新的无效指针设备实例,作为父对象的子对象。

__init__(name, systemId, devType, pType, caps, maxPoints, buttonCount[, seatName=""[, uniqueId=QPointingDeviceUniqueId()[, parent=None]]]])
参数:

创建一个新的拥有指定 namedeviceTypepointerTypecapabilitiesmaxPointsbuttonCountseatNameuniqueIdparent 的指针设备实例。

buttonCount()#
返回类型::

int

返回设备上可检测的最大按钮数。

属性 buttonCount 的获取器。

grabChanged(grabber, transition, event, point)#
参数:

当在传递事件时,如果获取器(grabber)对象对point获取了独占或被动捕获,或者失去了这个捕获,则会发出此信号。通过transition可以看出是发生了什么,这是从获取器对象的角度来看的。

注意

一个从对象到另一个对象的获取器转换会产生两个信号,用于通知一个对象已经失去了其捕获,以及有另一个获取器。在另一些情况下,当转换到或从非捕获状态时,只会发出一个信号:grabber参数永远不会是nullptr

maximumPoints()#
返回类型::

int

返回可以检测到的最大同时触摸点(手指)数量。

属性maximumPoints的获取器。

__eq__(other)#
参数:

otherQPointingDevice

返回类型::

bool

pointerType()#
返回类型::

PointerType

返回指针类型。

属性pointerType的获取器。

static primaryPointingDevice([seatName=""])#
参数:

seatName – str

返回类型::

QPointingDevice

返回特定座席seatName上的主要指向设备(核心指向设备,传统上假设是鼠标)。

如果有多个指点设备注册,此函数更倾向于使用与给定 seatName 匹配且没有其他设备作为其父设备的鼠标或触摸板。通常,只有一个主设备或核心设备没有父设备。但如果没有找到这样的设备,此函数将创建一个新的虚拟“核心指针”鼠标。因此,Qt可以在尚未进行输入设备发现和注册的平台中继续工作。

setCapabilities(caps)#
参数:

caps – 由 Capability 组成的组合

注意

此函数已弃用。

请使用构造函数而不是设置器。

setMaximumTouchPoints(c)#
参数:

c - int

注意

此函数已弃用。

请使用构造函数而不是设置器。

setType(devType)#
参数:

devTypeDeviceType

注意

此函数已弃用。

请使用构造函数而不是设置器。

设置设备类型 devType 并推断指针类型。

uniqueId()#
返回类型::

QPointingDeviceUniqueId

返回设备的唯一ID(其效用尚不确定)。

你可能更应该关注 QPointerEventPoint::uniqueId()。

属性 uniqueId 的获取器。