PySide6.QtGui.QKeyEvent

class QKeyEvent

QKeyEvent 类描述了一个键盘事件。更多

PySide6.QtGui.QKeyEvent 的继承图

概要

方法

注意

本文档可能包含从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__(arg__1)
Parameters:

arg__1QKeyEvent

__init__(type, key, modifiers[, text=""[, autorep=false[, count=1]]])
Parameters:
  • type类型

  • key – 整数

  • modifiersKeyboardModifier 的组合

  • 文本 – 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 – 整数

  • modifiersKeyboardModifier 的组合

  • 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 是事件中涉及的键的数量。

除了正常的键事件数据外,还包含nativeScanCodenativeVirtualKeynativeModifiers。这些额外的数据由快捷方式系统使用,以确定触发哪些快捷方式。

__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:

QKeyCombination

返回一个包含此事件携带的key()modifiers()的QKeyCombination对象。

matches(key)
Parameters:

keyStandardKey

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_keyStandardKey

__eq__(key)
Parameters:

keyStandardKey

Return type:

布尔

__eq__(key)
Parameters:

keyStandardKey

Return type:

布尔

text()
Return type:

字符串

返回此键生成的Unicode文本。

文本不仅限于Unicode代码点的可打印范围,可能包括控制字符或来自其他Unicode类别的字符,包括QChar::Other_PrivateUse。

文本也可能为空,例如当按下修饰键(如Shift、Control、Alt和Meta)时(取决于平台)。key()函数将始终返回一个有效的值。

另请参阅

WA_KeyCompression