- class QKeyEvent#
-
概述#
方法#
def
__init__()
def
__repr__()
def
count()
def
isAutoRepeat()
def
key()
def
keyCombination()
def
matches()
def
nativeScanCode()
def
__ne__()
def
__eq__()
def
text()
说明
此文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎贡献对片段的翻译。如果您发现翻译问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来通知我们。
详细描述#
当按键被按下或释放时,键事件会被发送到具有键盘输入焦点的部件。
键事件包含一个特殊接受标志,用于指示接收者是否将处理该键事件。此标志在 QEvent::KeyPress 和 QEvent::KeyRelease 中默认设置,因此在处理键事件时无需调用 accept()。对于 QEvent::ShortcutOverride,接收者需要显式接受事件以触发覆盖。在键事件上调用 ignore() 将使它传播到父部件。事件将沿父部件链向上传播,直到有部件接受它或事件过滤器消耗它。
可以使用 QWidget::setEnabled() 函数来启用或禁用部件的鼠标和键盘事件。
事件处理器 QWidget::keyPressEvent(),QWidget::keyReleaseEvent(),QGraphicsItem::keyPressEvent() 和 QGraphicsItem::keyReleaseEvent() 接收键事件。
- __init__(type, key, modifiers[, text=""[, autorep=false[, count=1]]])#
- 参数:
type –
Type
key – int
modifiers –
KeyboardModifier
组合text – str
autorep – bool
count – int
构建一个键事件对象。
参数
type
必须是 QEvent::KeyPress、QEvent::KeyRelease 或 QEvent::ShortcutOverride。整型
key
是事件循环应监听的 Qt::Key 的代码。如果key
是 0,则事件不是已知键的结果,例如,可能是组合键或键盘宏的结果。参数modifiers
包含键盘修饰符,所提供的text
是按键生成的 Unicode 文本。如果autorep
为 true,则isAutoRepeat()
将为 true。参数count
是事件中涉及的键的数量。- __init__(类型参数key, key, 修饰符, nativeScanCode, nativeVirtualKey, nativeModifiers[,text=""[,autorep=false[,count=1[,device=QInputDevice.primaryKeyboard()]]]]])
- 参数:
type –
Type
key – int
modifiers –
KeyboardModifier
组合nativeScanCode - 整数
nativeVirtualKey - 整数
nativeModifiers - 整数
text – str
autorep – bool
count – int
device -
QInputDevice
构建一个键事件对象。
参数
type
必须是 QEvent::KeyPress、QEvent::KeyRelease 或 QEvent::ShortcutOverride。整型
key
是事件循环应监听的 Qt::Key 的代码。如果key
是 0,则事件不是已知键的结果,例如,可能是组合键或键盘宏的结果。参数modifiers
包含键盘修饰符,所提供的text
是按键生成的 Unicode 文本。如果autorep
为 true,则isAutoRepeat()
将为 true。参数count
是事件中涉及的键的数量。除了正常按键事件数据外,还包含
nativeScanCode
、nativeVirtualKey
和nativeModifiers
。这些额外数据由快捷键系统使用,以确定要触发哪些快捷键。- __init__(参数 1)
- 参数:
参数 1 -
QKeyEvent
- __repr__()
- 返回类型:
对象
- count()
- 返回类型:
整数
返回涉及此事件的键的数量。如果
text()
不为空,这将简单字符串的长度。参见
WA_KeyCompression
- isAutoRepeat()
- 返回类型:
布尔值
如果此事件来自自动重复键,则返回
true
;如果来自初始按键,则返回false
。请注意,如果事件是因自动重复而产生的多键压缩事件,此函数可能返回不确定的 true 或 false。
- key()
- 返回类型:
整数
返回按下的或释放的键的代码。
有关键盘代码列表,请参阅 Qt::Key。这些代码与底层窗口系统独立。请注意,此函数不区分大小写和非大小写字母;出于此目的,请使用
text()
函数(返回键生成的 Unicode 文本)。值为 0 或 Qt::Key_unknown 表示事件不是已知键的结果;例如,可能是组合序列、键盘宏或键事件压缩的结果。
参见
WA_KeyCompression
- keyCombination()#
- 返回类型:
返回一个包含此事件携带的
key()
和modifiers()
的 QKeyCombination 对象。- matches(key)#
- 参数:
key –
StandardKey
- 返回类型:
布尔值
如果按键事件与指定的标准
key
匹配,则返回true
;否则返回false
。- nativeModifiers()#
- 返回类型:
整数
返回按键事件的本地修饰符。如果按键事件不包含此数据,则返回 0。
说明
本地修饰符可能为 0,即使按键事件包含扩展信息。
- nativeScanCode()#
- 返回类型:
整数
返回按键事件的本地扫描码。如果按键事件不包含此数据,则返回 0。
说明
本地扫描码可能为 0,即使按键事件包含扩展信息。
- nativeVirtualKey()#
- 返回类型:
整数
返回按键事件的本地虚拟键或键符号。如果按键事件不包含此数据,则返回 0。
说明
本地虚拟键可能为 0,即使按键事件包含扩展信息。
- __ne__(arg__1)#
- 参数:
arg__1 –
StandardKey
- __eq__(key)#
- 参数:
key –
StandardKey
- 返回类型:
布尔值
- __eq__(key)
- 参数:
key –
StandardKey
- 返回类型:
布尔值
- text()#
- 返回类型:
str
返回由此键生成的 Unicode 文本。
文本不限于 Unicode 代码点的可打印范围,可能包括控制字符或来自其他 Unicode 类别的字符,包括 QChar::Other_PrivateUse。
文本也可能为空,例如当按下修饰键(如 Shift、Control、Alt 和 Meta)时(取决于平台)。
key()
函数将始终返回一个有效的值。参见
WA_KeyCompression