pyqt5-快捷键
1、介绍
pyqt5提供了多种快捷键设置方式,即基于一个或多个键盘按键的组合,调用特定方法或函数。
2、组件直接操作
部分组件提供了直接设置快捷键的方法,注意并非是全部组件支持,反而说是极少数。
2.1 QAbstractButton类
普通按钮QPushButton类、单选框QRadioButton类、多选框QCheckBox类都继承了QAbstractButton类。
setShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int])
setShortcut('x')
setShortcut('shift+x')
- 设置快捷键
- 一般来说,必须是该方法所属组件聚焦,快捷键才有效。但是并不完全是,比如设置双键组合快捷键时,shift+return可以使焦点在文本框而触发按钮的该快捷键。
- 可以是直接的单个按键,也可以是按键组合。忽略大小写
- 重复调用该方法,最后一次有效,覆盖前面的设置
- 按键组合时,基于+进行连接。需要注意,一般是ctrl/shift+其它键组成双键。三键、字母/数字与字母/数字等都无法响应
- enter和return分别表示确认和回车键
- ctrl+↑无法响应,替代的,使用ctrl+8
shortcut(self) -> QKeySequence
- 获取快捷键
setShortcutEnabled(self, id: int, enabled: bool = True)
- 设置快捷键是否可用
releaseShortcut(self, id: int)
- 释放快捷键
setShortcutAutoRepeat(self, id: int, enabled: bool = True)
grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) -> int
2.2 QAction类