class QKeyEvent#

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

Inheritance diagram of 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__(type, key, modifiers[, text=""[, autorep=false[, count=1]]])#
参数:
  • typeType

  • key – int

  • modifiersKeyboardModifier 组合

  • 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()]]]]])
参数:
  • typeType

  • key – int

  • modifiersKeyboardModifier 组合

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

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

__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()#
返回类型:

QKeyCombination

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

matches(key)#
参数:

keyStandardKey

返回类型:

布尔值

如果按键事件与指定的标准 key 匹配,则返回 true;否则返回 false

nativeModifiers()#
返回类型:

整数

返回按键事件的本地修饰符。如果按键事件不包含此数据,则返回 0。

说明

本地修饰符可能为 0,即使按键事件包含扩展信息。

nativeScanCode()#
返回类型:

整数

返回按键事件的本地扫描码。如果按键事件不包含此数据,则返回 0。

说明

本地扫描码可能为 0,即使按键事件包含扩展信息。

nativeVirtualKey()#
返回类型:

整数

返回按键事件的本地虚拟键或键符号。如果按键事件不包含此数据,则返回 0。

说明

本地虚拟键可能为 0,即使按键事件包含扩展信息。

__ne__(arg__1)#
参数:

arg__1StandardKey

__eq__(key)#
参数:

keyStandardKey

返回类型:

布尔值

__eq__(key)
参数:

keyStandardKey

返回类型:

布尔值

text()#
返回类型:

str

返回由此键生成的 Unicode 文本。

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

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

参见

WA_KeyCompression