class QShortcut#

使用QShortcut类来创建键盘快捷键。更多信息...

Inheritance diagram of PySide6.QtGui.QShortcut

概要#

属性#

方法#

信号#

备注

本文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对代码片段进行翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建问题报告的方式来告知我们。

详细描述#

警告

本节包含从C++自动转换为Python的代码片段,可能包含错误。

QShortcut 类提供了一种将键盘快捷键连接到Qt的信号和槽机制的方法,以便在执行快捷键时通知对象。快捷键可以设置为包含描述键盘快捷键所需的所有按键,包括像Shift、Ctrl和Alt这样的修饰键的状态。

在小部件应用程序中,某些小部件可以在字符前面使用“&”。这将自动为该字符创建一个辅助键(一个快捷键),例如,“E&xit”将创建快捷键Alt+X(使用“&&”显示实际的和符号)。小部件可能会消耗并执行给定的快捷键上的操作。在X11上,和符号将不会显示,并且字符将被下划线。在Windows上,快捷键通常仅在用户按下Alt键时才显示,但这是用户可以更改的设置。在Mac中,默认情况下禁用快捷键。调用qt_set_sequence_auto_mnemonic()以启用它们。然而,由于辅助键快捷键与Aqua的指南不兼容,Qt不会显示带下划线的快捷键字符。

对于使用菜单的应用程序,可能更方便使用QMenu类中提供的一些便利函数来分配键盘快捷键给创建时的菜单项。或者,您可以将在QAction 类中的其他类型的操作关联到快捷键。

为特定的小部件创建快捷键的最简单方法是使用按键序列构建快捷键。例如

shortcut = QShortcut(QKeySequence(tr("Ctrl+O", "File|Open")),
                         parent)

当用户输入某个快捷键的 键序列 时,会触发快捷键的 activated() 信号。在存在歧义的情况下,会触发 activatedAmbiguously() 信号。当快捷键的父元素接收事件时,Qt的事件循环会监听此快捷键。

可以使用 setKey() 来设置快捷键的键序列,并使用 key() 来获取。可以通过 setEnabled() 来启用或禁用快捷键,并且可以使用 setWhatsThis() 来设置“这是什么?”的帮助文本。

备注

from __feature__ import true_property 被使用时可以直接使用属性,否则通过访问函数来获取。

属性autoRepeatᅟ: bool#

该属性表示是否可以自动重复快捷键。

如果为真,当组合键被按住时,快捷键会自动重复,前提是在系统中启用了键盘自动重复。默认值为 true。

访问函数
属性contextᅟ: Qt.ShortcutContext#

该属性表示快捷键有效的作用域。

快捷键的作用域决定了在什么情况下可以触发快捷键。正常的作用域是 Qt::WindowShortcut,这允许在父元素(包含快捷键的控件)是活动顶层窗口的子控件时,触发快捷键。

默认情况下,此属性被设置为 Qt::WindowShortcut。

访问函数
属性enabledᅟ: bool#

该属性表示快捷键是否启用。

启用的快捷键在发生与快捷键的键序列匹配的 QShortcutEvent 事件时,将发出 activated()activatedAmbiguously() 信号。

如果应用程序处于 WhatsThis 模式,则快捷键不会发出信号,而是显示“这是什么?”文本。

默认情况下,此属性值为 true

参见

whatsThis

访问函数
属性key: QKeySequence#

警告

本节包含从C++自动转换为Python的代码片段,可能包含错误。

此属性包含快捷键的主键序列。

这是一个可选组合 Shift、Ctrl 和 Alt 的键序列。键序列可以通过多种方式提供

setKey(0) # no signal emitted
setKey(QKeySequence()) # no signal emitted
setKey(0x3b1) # Greek letter alpha
setKey(Qt.Key_D) # 'd', e.g. to delete
setKey('q') # 'q', e.g. to quit
setKey(Qt.CTRL | Qt.Key_P) # Ctrl+P, e.g. to print document
setKey("Ctrl+P") # Ctrl+P, e.g. to print document

默认情况下,此属性包含一个空键序列。

访问函数
__init__(arg__1, arg__2, arg__3[, arg__4=Qt.WindowShortcut])#
参数:
__init__(key, parent[, member=None[, ambiguousMember=None[, context=Qt.WindowShortcut]]]])
参数:

parent 创建一个 QShortcut 对象,其中 parent 应该是一个 QWindow 或 QWidget。

快捷键在其父组件上运行,监听与 standardKey 匹配的 QShortcutEvent。根据事件的歧义性,快捷键将调用成员函数或 ambiguousMember 函数,如果按下键在快捷键的上下文中。

__init__(parent)
参数:

parentQObject

parent 创建一个 QShortcut 对象,其中 parent 应该是一个 QWindow 或 QWidget。

由于未指定快捷键键序列,因此快捷键不会发出任何信号。

参见

setKey()

__init__(key, parent[, member=None[, ambiguousMember=None[, context=Qt.WindowShortcut]]]])
参数:

parent 创建一个 QShortcut 对象,其中 parent 应该是一个 QWindow 或 QWidget。

快捷键在其父组件上运行,监听与 key 序列匹配的 QShortcutEvent。根据事件歧义性,快捷键将调用成员函数或 ambiguousMember 函数,如果键按是在快捷键上下文中进行的。

__init__(arg__1, arg__2, arg__3[, arg__4=Qt.WindowShortcut])
参数:
activated()#

当用户输入快捷键的键序列时,发出此信号。

activatedAmbiguously()#

当在键盘上输入键序列时,如果它与多个快捷键的开始匹配,那么它被认为是模糊的。

当快捷键的键序列完成时,如果键序列仍然模糊(即它是其他一个或多个快捷键的开始),则会发出 activatedAmbiguously()。在这种情况下不会发出 activated() 信号。

参见

activated()

autoRepeat()#
返回类型:

bool

属性 autoRepeat 的获取器。

context()#
返回类型:

ShortcutContext

参见

setContext()

属性 context 的获取器。

id()#
返回类型:

int

备注

此函数已弃用。

返回主键绑定的 ID。

参见

shortcutId()

isEnabled()#
返回类型:

bool

属性 enabled 的获取器。

key()#
返回类型:

QKeySequence

参见

setKey()

属性 key 的获取器。

keys()#
返回类型:

列表的 QKeySequence

返回触发此快捷键的关键序列列表。

参见

keysetKeys()

setAutoRepeat(on)#
参数:

on – bool

参见

autoRepeat()

属性 autoRepeat 的设置器。

setContext(context)#
参数:

contextShortcutContext

参见

context()

属性 context 的设置器。

setEnabled(enable)#
参数:

enable – bool

参见

isEnabled()

属性 enabled 的设置器。

setKey(key)#
参数:

keyQKeySequence

参见

key()

属性 key 的设置器。

setKeys(key)#
参数:

keyStandardKey

将触发器设置为匹配标准键 key 的触发器。

参见

key keys()

setKeys(keys)
参数:

keys – .list of QKeySequence

keys 设置为触发快捷键的键序列列表。

参见

key keys()

setWhatsThis(text)#
参数:

text – str

设置快捷键的“这是什么?”帮助 text

当小工具应用处于“这是什么?”模式且用户输入快捷键 key() 序列时,将显示此文本。

要将“这是什么?”帮助设置为菜单项(带有或没有快捷键),请将帮助设置在项的操作上。

默认情况下,帮助文本为空字符串。

在不使用小工具的应用程序中,此函数无效果。

whatsThis()#
返回类型:

str

返回快捷键的“这是什么?”帮助文本。