- class QPointingDevice#
类
QPointingDevice
描述了一个设备,该设备产生鼠标、触摸或平板设备的事件。更多…摘要#
属性#
方法#
def
__init__()
def
buttonCount()
def
maximumPoints()
def
__eq__()
def
pointerType()
def
setType()
def
uniqueId()
信号#
静态函数#
注意
本文档可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以在https:/bugreports.qt.io/projects/PYSIDE创建一个工单来解决。
详细说明#
每个
QPointerEvent
都包含一个指向QPointingDevice
的指针,以便访问设备特有的属性,如类型和能力。平台或通用插件需要在生成任何指针事件之前通过QWindowSystemInterface注册可用的指针设备。应用程序不需要实例化此类,只需要通过device()
访问其指向的全局实例即可。- class PointerType#
(继承自:
enum.Flag
)此枚举表示与指针设备交互的是什么。此属性与
DeviceType
之间存在一些冗余。例如,如果使用了触摸屏,则DeviceType
为TouchScreen
和PointerType
为Finger
(总是)。但在数位板上,经常可以同时使用笔的两端,程序需要区分它们。因此,此概念被扩展,使得每个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__(name, systemId, devType, pType, caps, maxPoints, buttonCount[, seatName=""[, uniqueId=QPointingDeviceUniqueId()[, parent=None]]]])
- 参数:
name – str
systemId – int
devType –
DeviceType
pType –
PointerType
caps – 由
Capability
组成的组合maxPoints – int
buttonCount – int
seatName – str
uniqueId –
QPointingDeviceUniqueId
父对象 –
QObject
创建一个新的拥有指定
name
、deviceType
、pointerType
、capabilities
、maxPoints
、buttonCount
、seatName
、uniqueId
和parent
的指针设备实例。- buttonCount()#
- 返回类型::
int
返回设备上可检测的最大按钮数。
属性
buttonCount
的获取器。- grabChanged(grabber, transition, event, point)#
- 参数:
grabber –
QObject
transition –
GrabTransition
事件 –
QPointerEvent
点 –
QEventPoint
当在传递事件时,如果获取器(
grabber
)对象对point
获取了独占或被动捕获,或者失去了这个捕获,则会发出此信号。通过transition
可以看出是发生了什么,这是从获取器对象的角度来看的。注意
一个从对象到另一个对象的获取器转换会产生两个信号,用于通知一个对象已经失去了其捕获,以及有另一个获取器。在另一些情况下,当转换到或从非捕获状态时,只会发出一个信号:
grabber
参数永远不会是nullptr
。- maximumPoints()#
- 返回类型::
int
返回可以检测到的最大同时触摸点(手指)数量。
属性
maximumPoints
的获取器。- __eq__(other)#
- 参数:
other –
QPointingDevice
- 返回类型::
bool
- pointerType()#
- 返回类型::
返回指针类型。
属性
pointerType
的获取器。- static primaryPointingDevice([seatName=""])#
- 参数:
seatName – str
- 返回类型::
返回特定座席
seatName
上的主要指向设备(核心指向设备,传统上假设是鼠标)。如果有多个指点设备注册,此函数更倾向于使用与给定
seatName
匹配且没有其他设备作为其父设备的鼠标或触摸板。通常,只有一个主设备或核心设备没有父设备。但如果没有找到这样的设备,此函数将创建一个新的虚拟“核心指针”鼠标。因此,Qt可以在尚未进行输入设备发现和注册的平台中继续工作。- setCapabilities(caps)#
- 参数:
caps – 由
Capability
组成的组合
注意
此函数已弃用。
请使用构造函数而不是设置器。
- setMaximumTouchPoints(c)#
- 参数:
c - int
注意
此函数已弃用。
请使用构造函数而不是设置器。
- setType(devType)#
- 参数:
devType –
DeviceType
注意
此函数已弃用。
请使用构造函数而不是设置器。
设置设备类型
devType
并推断指针类型。- uniqueId()#
- 返回类型::
返回设备的唯一ID(其效用尚不确定)。
你可能更应该关注 QPointerEventPoint::uniqueId()。
属性
uniqueId
的获取器。