PySide6.QtGui.QKeyEvent¶
- 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]]])
- Parameters:
type –
类型
key – 整数
modifiers –
KeyboardModifier
的组合文本 – str
autorep – 布尔值
count – int
构造一个键事件对象。
type
参数必须是 QEvent::KeyPress、QEvent::KeyRelease 或 QEvent::ShortcutOverride。Int
key
是事件循环应监听的 Qt::Key 的代码。如果key
为 0,则该事件不是已知键的结果;例如,它可能是组合序列或键盘宏的结果。modifiers
保存键盘修饰符,给定的text
是键生成的 Unicode 文本。如果autorep
为 true,isAutoRepeat()
将为 true。count
是事件中涉及的键的数量。- __init__(type, key, modifiers, nativeScanCode, nativeVirtualKey, nativeModifiers[, text=""[, autorep=false[, count=1[, device=QInputDevice.primaryKeyboard()]]]])
- Parameters:
type –
类型
key – 整数
modifiers –
KeyboardModifier
的组合nativeScanCode – int
nativeVirtualKey – int
nativeModifiers – int
文本 – str
autorep – 布尔值
count – int
设备 –
QInputDevice
构造一个键事件对象。
type
参数必须是 QEvent::KeyPress、QEvent::KeyRelease 或 QEvent::ShortcutOverride。Int
key
是事件循环应监听的 Qt::Key 的代码。如果key
为 0,则该事件不是已知键的结果;例如,它可能是组合序列或键盘宏的结果。modifiers
保存键盘修饰符,给定的text
是键生成的 Unicode 文本。如果autorep
为 true,isAutoRepeat()
将为 true。count
是事件中涉及的键的数量。除了正常的键事件数据外,还包含
nativeScanCode
、nativeVirtualKey
和nativeModifiers
。这些额外的数据由快捷方式系统使用,以确定触发哪些快捷方式。- __repr__()¶
- Return type:
字符串
- count()¶
- Return type:
整数
返回此事件中涉及的键的数量。如果
text()
不为空,这仅仅是字符串的长度。另请参阅
WA_KeyCompression
- isAutoRepeat()¶
- Return type:
布尔
如果此事件来自自动重复按键,则返回
true
;如果来自初始按键,则返回false
。请注意,如果事件是一个部分由于自动重复导致的多键压缩事件,此函数可能会不确定地返回 true 或 false。
- key()¶
- Return type:
整数
返回被按下或释放的键的代码。
请参阅Qt::Key以获取键盘代码列表。这些代码与底层窗口系统无关。请注意,此函数不区分大写字母和非大写字母,为此目的请使用
text()
函数(返回按键生成的Unicode文本)。值为0或Qt::Key_unknown表示该事件不是已知按键的结果;例如,它可能是组合序列、键盘宏或由于按键事件压缩的结果。
另请参阅
WA_KeyCompression
- keyCombination()¶
- Return type:
返回一个包含此事件携带的
key()
和modifiers()
的QKeyCombination对象。- matches(key)¶
- Parameters:
key –
StandardKey
- Return type:
布尔
如果键事件匹配给定的标准
key
,则返回true
;否则返回false
。- nativeModifiers()¶
- Return type:
整数
返回键事件的原生修饰符。如果键事件不包含此数据,则返回0。
注意
原生修饰符可能为0,即使按键事件包含扩展信息。
- nativeScanCode()¶
- Return type:
整数
返回键事件的原生扫描码。如果键事件不包含此数据,则返回0。
注意
即使键事件包含扩展信息,原生扫描码也可能为0。
- nativeVirtualKey()¶
- Return type:
整数
返回本机虚拟键或键事件的键符号。如果键事件不包含此数据,则返回0。
注意
即使键事件包含扩展信息,原生虚拟键也可能为0。
- __ne__(standard_key)¶
- Parameters:
standard_key –
StandardKey
- __eq__(key)¶
- Parameters:
key –
StandardKey
- Return type:
布尔
- __eq__(key)
- Parameters:
key –
StandardKey
- Return type:
布尔
- text()¶
- Return type:
字符串
返回此键生成的Unicode文本。
文本不仅限于Unicode代码点的可打印范围,可能包括控制字符或来自其他Unicode类别的字符,包括QChar::Other_PrivateUse。
文本也可能为空,例如当按下修饰键(如Shift、Control、Alt和Meta)时(取决于平台)。
key()
函数将始终返回一个有效的值。另请参阅
WA_KeyCompression