- class QShortcut#
使用
QShortcut
类来创建键盘快捷键。更多信息...概要#
属性#
autoRepeatᅟ
- 是否允许快捷键自动重复contextᅟ
- 快捷键有效的上下文enabledᅟ
- 快捷键是否启用keyᅟ
- 快捷键的主要键序列
方法#
def
__init__()
def
autoRepeat()
def
context()
def
id()
def
isEnabled()
def
key()
def
keys()
def
setAutoRepeat()
def
setContext()
def
setEnabled()
定义
setKey()
定义
setKeys()
定义
whatsThis()
信号#
备注
本文档可能包含从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
。参见
- 访问函数
- 属性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])#
- 参数:
arg__1 –
StandardKey
arg__2 –
QObject
arg__3 –
PyCallable
arg__4 –
ShortcutContext
- __init__(key, parent[, member=None[, ambiguousMember=None[, context=Qt.WindowShortcut]]]])
- 参数:
key –
StandardKey
parent –
QObject
member – str
ambiguousMember – str
context –
ShortcutContext
为
parent
创建一个QShortcut
对象,其中parent
应该是一个QWindow
或 QWidget。快捷键在其父组件上运行,监听与
standardKey
匹配的QShortcutEvent
。根据事件的歧义性,快捷键将调用成员函数或 ambiguousMember 函数,如果按下键在快捷键的上下文中。- __init__(parent)
- 参数:
parent –
QObject
为
parent
创建一个QShortcut
对象,其中parent
应该是一个QWindow
或 QWidget。由于未指定快捷键键序列,因此快捷键不会发出任何信号。
参见
- __init__(key, parent[, member=None[, ambiguousMember=None[, context=Qt.WindowShortcut]]]])
- 参数:
key –
QKeySequence
parent –
QObject
member – str
ambiguousMember – str
context –
ShortcutContext
为
parent
创建一个QShortcut
对象,其中parent
应该是一个QWindow
或 QWidget。快捷键在其父组件上运行,监听与
key
序列匹配的QShortcutEvent
。根据事件歧义性,快捷键将调用成员函数或 ambiguousMember 函数,如果键按是在快捷键上下文中进行的。- __init__(arg__1, arg__2, arg__3[, arg__4=Qt.WindowShortcut])
- 参数:
arg__1 –
QKeySequence
arg__2 –
QObject
arg__3 –
PyCallable
arg__4 –
ShortcutContext
- activated()#
当用户输入快捷键的键序列时,发出此信号。
- activatedAmbiguously()#
当在键盘上输入键序列时,如果它与多个快捷键的开始匹配,那么它被认为是模糊的。
当快捷键的键序列完成时,如果键序列仍然模糊(即它是其他一个或多个快捷键的开始),则会发出 activatedAmbiguously()。在这种情况下不会发出 activated() 信号。
参见
- autoRepeat()#
- 返回类型:
bool
属性
autoRepeat
的获取器。- context()#
- 返回类型:
参见
属性
context
的获取器。- id()#
- 返回类型:
int
备注
此函数已弃用。
返回主键绑定的 ID。
参见
- isEnabled()#
- 返回类型:
bool
属性
enabled
的获取器。- key()#
- 返回类型:
参见
属性
key
的获取器。- keys()#
- 返回类型:
列表的 QKeySequence
返回触发此快捷键的关键序列列表。
- setAutoRepeat(on)#
- 参数:
on – bool
参见
属性
autoRepeat
的设置器。- setContext(context)#
- 参数:
context –
ShortcutContext
参见
属性
context
的设置器。- setEnabled(enable)#
- 参数:
enable – bool
参见
属性
enabled
的设置器。- setKey(key)#
- 参数:
key –
QKeySequence
参见
属性
key
的设置器。- setKeys(key)#
- 参数:
key –
StandardKey
将触发器设置为匹配标准键
key
的触发器。- setKeys(keys)
- 参数:
keys – .list of QKeySequence
将
keys
设置为触发快捷键的键序列列表。- setWhatsThis(text)#
- 参数:
text – str
设置快捷键的“这是什么?”帮助
text
。当小工具应用处于“这是什么?”模式且用户输入快捷键
key()
序列时,将显示此文本。要将“这是什么?”帮助设置为菜单项(带有或没有快捷键),请将帮助设置在项的操作上。
默认情况下,帮助文本为空字符串。
在不使用小工具的应用程序中,此函数无效果。
- whatsThis()#
- 返回类型:
str
返回快捷键的“这是什么?”帮助文本。