PySide6.QtGui.QShortcut

class QShortcut

QShortcut 类用于创建键盘快捷键。更多

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)

当用户输入给定快捷键的key sequence时,快捷键的activated()信号会被发出。(在存在歧义的情况下,activatedAmbiguously()信号会被发出。)当快捷键的父部件接收到事件时,Qt的事件循环会“监听”该快捷键。

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

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property autoRepeatᅟ: bool

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

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

Access functions:
property contextᅟ: Qt.ShortcutContext

此属性保存快捷方式有效的上下文。

快捷方式的上下文决定了在什么情况下允许触发快捷方式。正常的上下文是Qt::WindowShortcut,它允许在父级(包含快捷方式的小部件)是活动顶层窗口的子部件时触发快捷方式。

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

Access functions:
property enabledᅟ: bool

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

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

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

默认情况下,此属性为 true

另请参阅

whatsThis

Access functions:
property 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

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

Access functions:
__init__(parent)
Parameters:

父对象QObject

parent构造一个QShortcut对象,parent应该是一个QWindow或QWidget。

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

另请参阅

setKey()

__init__(key, parent, callable[, context=Qt.WindowShortcut])
Parameters:
__init__(standard_key, parent, callable[, context=Qt.WindowShortcut])
Parameters:
__init__(key, parent[, member=None[, ambiguousMember=None[, context=Qt.WindowShortcut]]])
Parameters:

parent构造一个QShortcut对象,parent应该是一个QWindow或QWidget。

快捷键在其父级上操作,监听与standardKey匹配的QShortcutEvent。根据事件的模糊性,快捷键将调用member函数,或者如果按键在快捷键的context中,则调用ambiguousMember函数。

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

parent构造一个QShortcut对象,parent应该是一个QWindow或QWidget。

快捷键在其父级上操作,监听与key序列匹配的QShortcutEvent。根据事件的模糊性,快捷键将调用member函数,或者如果按键在快捷键的context中,则调用ambiguousMember函数。

activated()

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

另请参阅

activatedAmbiguously()

activatedAmbiguously()

当在键盘上输入一个键序列时,只要它与多个快捷键的开头匹配,就被称为是模糊的。

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

另请参阅

activated()

autoRepeat()
Return type:

布尔

另请参阅

setAutoRepeat()

属性 autoRepeatᅟ 的获取器。

context()
Return type:

ShortcutContext

另请参阅

setContext()

属性 contextᅟ 的获取器。

id()
Return type:

整数

注意

此函数已弃用。

返回主键绑定的ID。

另请参阅

shortcutId()

isEnabled()
Return type:

布尔

属性 enabledᅟ 的获取器。

key()
Return type:

QKeySequence

另请参阅

setKey()

属性 keyᅟ 的获取器。

keys()
Return type:

QKeySequence的列表

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

另请参阅

key setKeys()

setAutoRepeat(on)
Parameters:

on – 布尔值

另请参阅

autoRepeat()

属性 autoRepeatᅟ 的设置器。

setContext(context)
Parameters:

上下文ShortcutContext

另请参阅

context()

属性 contextᅟ 的设置器。

setEnabled(enable)
Parameters:

enable – 布尔值

另请参阅

isEnabled()

属性 enabledᅟ 的设置器。

setKey(key)
Parameters:

QKeySequence

另请参阅

key()

属性 keyᅟ 的设置器。

setKeys(key)
Parameters:

keyStandardKey

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

另请参阅

key keys()

setKeys(keys)
Parameters:

keys – QKeySequence 的列表

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

另请参阅

key keys()

setWhatsThis(text)
Parameters:

文本 – str

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

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

要在菜单项上设置“这是什么?”帮助(无论是否有快捷键),请在项的操作上设置帮助。

默认情况下,帮助文本是一个空字符串。

此函数在不使用小部件的应用程序中无效。

whatsThis()
Return type:

字符串

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

另请参阅

setWhatsThis()