- class QInputDevice#
QInputDevice类描述了一个起源自QInputEvent的设备。了解更多...继承自:
QPointingDevice概要#
属性#
方法#
def
__init__()def
capabilities()def
hasCapability()def
name()def
__eq__()def
seatName()def
systemId()def
type()
信号#
静态函数#
定义 devices()
定义 seatNames()
注意
本文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有误,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来通知我们。
详细描述#
每个
QInputEvent都包含一个指向QInputDevice的指针,允许访问设备特定的属性,如类型、功能和服务。平台或通用插件负责通过 QWindowSystemInterface::registerInputDevice() 在生成任何涉及此设备的输入事件之前,发现、创建和注册每个可用输入设备对应的此类的实例。应用程序不需要实例化此类,但可以读取
device()和devices()所指向的实例。- class DeviceType#
(继承自
enum.Flag) 此枚举表示生成QPointerEvent的设备类型。常量
描述
QInputDevice.DeviceType.Unknown
该设备无法识别。
QInputDevice.DeviceType.Mouse
鼠标。
QInputDevice.DeviceType.TouchScreen
在此类型设备中,触摸表面和显示器是集成的。这意味着表面和显示器的尺寸通常是相同的,这样触摸点的物理位置与
QEventPoint报告的坐标之间有一个直接的关系。因此,Qt允许用户同时与多个QWidgets、QGraphicsItems或Qt Quick Items进行交互。QInputDevice.DeviceType.TouchPad
在这种类型的设备中,触摸表面与显示屏是分开的。实际触摸位置和屏幕坐标之间没有直接关系。相反,它们是相对于当前鼠标位置计算的,并且用户必须使用触摸板来移动这个参考点。与触摸屏不同,Qt让用户一次只能与一个QWidget或QGraphicsItem进行交互。
QInputDevice.DeviceType.Stylus
一种笔式设备,用于图形平板电脑,如Wacom平板电脑,或具有独立笔感测功能的触摸屏。
QInputDevice.DeviceType.Airbrush
一种带滚轮的笔,用于调整《PySide6.QtGui.QTabletEvent.tangentialPressure》类的代码:
tangentialPressure。QInputDevice.DeviceType.Puck
一种类似于平面鼠标并且带有透明十字线的圆形设备。
QInputDevice.DeviceType.Keyboard
键盘。
QInputDevice.DeviceType.AllDevices
上述任何一个(用作默认过滤值)。
- class Capability#
(继承自
enum.Flag) 表示输入设备或其驱动程序可以提供哪种类型的信息。常量
描述
QInputDevice.Capability.None
没有关于输入设备功能的可用信息。
QInputDevice.Capability.Position
表示可提供位置信息,意味着触摸点中位置()函数系列返回有效点。
QInputDevice.Capability.Area
表示可提供触摸面积信息,意味着触摸点中的
ellipseDiameters()返回有效值。QInputDevice.Capability.Pressure
表示可提供压力信息,意味着
pressure()返回有效值。QInputDevice.Capability.Velocity
表示可提供速度信息,意味着
velocity()返回有效向量。QInputDevice.Capability.NormalizedPosition
表示可提供归一化位置,意味着
globalPosition()返回有效值。QInputDevice.Capability.MouseEmulation
表示该设备合成鼠标事件。
QInputDevice.Capability.Scroll
表示该设备具有滚动功能。
QInputDevice.Capability.PixelScroll
表示该设备(通常是一个触摸板)以像素精度滚动
pixelprecision。QInputDevice.Capability.Hover
表示该设备具有悬停功能。
QInputDevice.Capability.Rotation
表示
rotation信息可用。QInputDevice.Capability.XTilt
表示对于X轴,可用
tilt信息。QInputDevice.Capability.YTilt
表示Y轴的
tilt信息可用。QInputDevice.Capability.TangentialPressure
表示可用的
tangential pressure信息。QInputDevice.Capability.ZPosition
表示可用于
Z轴的位置信息。QInputDevice.Capability.All
注意
当使用
from __feature__ import true_property时,可以直接使用属性;否则使用访问函数。- propertycapabilities:QDBusConnection.ConnectionCapability组合#
- 访问函数
- propertyname:str#
- 访问函数
- propertyseatName:str#
- 访问函数
- propertysystemId:int#
- 访问函数
- propertytype:QInputDevice.DeviceType#
- 访问函数
创建一个新的无效输入设备实例,作为
parent的子对象。- __init__(name, systemId, type[, seatName=""[, parent=None]])
- 参数:
name – 字符串
systemId – 整数
type –
DeviceTypeseatName – 字符串
parent -
QObject
创建一个新的输入设备实例。如果可用,给定的
name是通常由制造商分配的型号名称,否则是其他可识别的名称;id是平台特定的数字,对于每个设备(例如 X11 的 xinput ID)将是唯一的;type用于标识设备类型。在能够同时处理来自多个用户或输入设备组的输入的系统(如 Wayland 或 X11)中,seatName识别将一起使用的设备组名称。如果设备是子设备或从设备(例如,轮换移动“核心指针”的几只鼠标中的一只),应将主设备作为parent提供。平台插件创建、注册并持续拥有每个设备实例;通常,即使没有主设备,出于内存管理目的也应提供
parent。默认情况下,
capabilities()是None。返回此设备可以访问的虚拟桌面内的区域。
例如,一个
TouchScreen输入设备固定在单个物理屏幕上,并且通常校准,使该区域与virtual desktop相同;而一个Mouse可以访问虚拟桌面上的所有屏幕。Wacom 图形板可能配置为映射到所有屏幕,或只映射到用户喜欢在它上面创建绘图的屏幕,或映射到绘制发生的窗口。一个与触摸屏集成的Stylus设备可能物理上限制在在该屏幕上。如果返回的矩形为空,这意味着此设备可以访问整个虚拟桌面。
属性
availableVirtualGeometry的获取器。属性
availableVirtualGeometry发生的通知信号。- capabilities()#
- 返回类型::
Capability的组合。
返回设备的特性。
- 静态 devices()#
- 返回类型::
const QInputDevice 列表。
返回所有已注册输入设备(键盘和指针设备)的列表。
注意
在所有平台上,设备列表并不总是完整的。到目前为止,X11 平台上可获得最完整的信息,在启动时和在热插拔响应时。大多数其他平台只能提供各种类型的通用设备,只有在与它们的事件接收后才能提供;大多数平台在运行时不会告知 Qt 设备何时连接或拔出。
注意
返回的列表不能用来添加新的设备。为了为自动测试添加一个模拟触摸屏,可以使用 QTest::createTouchDevice()。平台插件应调用 QWindowSystemInterface::registerInputDevice() 以发现设备时添加设备。
- hasCapability(cap)#
- 参数:
cap –
Capability- 返回类型::
bool
返回设备特性是否包括指定的
capability。- name()#
- 返回类型::
str
返回设备名称。
此字符串可能为空。然而,在有多个输入设备的系统上很有用,它可以用来区分
QPointerEvent是从哪个设备起源的。属性
name的获取器。- __eq__(other)#
- 参数:
other –
QInputDevice- 返回类型::
bool
- 静态 primaryKeyboard([seatName=""])#
- 参数:
seatName – 字符串
- 返回类型::
返回指定座位
seatName上的核心或主键盘。- seatName()#
- 返回类型::
str
如果已知则返回与该设备关联的座位;否则为空。
打算由同一用户共同使用的设备可能被配置为具有相同的座位名称。目前仅在 Wayland 和 X11 平台上可行。
属性
seatName 复制品的获取器。- 静态 seatNames()#
- 返回类型::
字符串列表
返回所有已注册的输入设备(键盘和指针设备)的座位名称列表。
- systemId()#
- 返回类型::
整数
返回特定于平台的系统 ID(例如,X11 平台上的 xinput ID)。
预计所有平台应为每个设备提供一个唯一的系统 ID。
属性
systemId 复制品的获取器。返回设备类型。
属性
type 复制品的获取器。