PyQt5按钮控件QPushButton快捷键设置
PyQt5中QPushButton按钮快捷键通过制定快捷键组合来出发按钮点击,按钮快捷键主要方法有两种:有提示文本和无提示文本。注意:此方法属于父类QAbstractButton。
在大多数软件程序中都有默认快捷键也有自定义的快捷键,按钮也不例外,使用快捷键可以让用户更快更方便出发按钮得到自己想要的结果。
PyQt5中QPushButton按钮快捷键通过制定快捷键组合来出发按钮点击,按钮快捷键主要方法有两种:有提示文本和无提示文本。注意:此方法属于父类QAbstractButton。
先来说说有提示文本的方法,前面我们说过设置按钮文本的方式是直接使用setText()函数即可,文本内容直接使用字符串作为参数传递给这个方法,如:
Btn1.setText('按钮文本')
如果想设置快捷键,可以在文本字符串被直接加一个&符号,如:
btn2.setText('&fbc') # 不要用汉字,我们使用Alt+f来测试一下
我本电脑Alt+a和系统截图快捷键冲突,直接使用Alt+f来设置,这里大家先按下Alt就可以看到鼠标的焦点已经选中并按钮,再你按下f的时候就会完成一次点击操作。下面我们用一个点击信号来操作一下,代码如下。
from PyQt5.Qt import * import sys app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('按钮快捷键设置 - PyQt5中文网') window.resize(600, 450) btn = QPushButton(window) btn.move(60, 60) btn.resize(80, 40) btn.setText('&fbc') btn.pressed.connect(lambda: print('快捷键已经被按下!')) window.show() sys.exit(app.exec_())
效果如下:
注意这里的&符号在哪个字符前就是把快捷键设置为哪个字符,比如:
btn.setText('fb&c')
这里的快捷键就是:Alt+c
接下来我们再看看没有文本提示的快捷键设置方法。从上面的方法中我们发现几个局限性,首先当按钮没有文本的时候就无法设置快捷键,其次快捷键组合无法随意修改。这时候我们需要另一个方法setShortcut()来实现快捷键自由。
from PyQt5.Qt import * import sys app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('按钮快捷键设置 - PyQt5中文网') window.resize(600, 450) btn = QPushButton(window) btn.move(60, 60) btn.resize(80, 40) # btn.setText('&fbc') # btn.pressed.connect(lambda: print('快捷键已经被按下!')) qicon = QIcon('123.jpg') # 设置按钮图标文件路径 btn.setIcon(qicon) qsize = QSize(20, 20) # 设置按钮图标的尺寸 btn.setIconSize(qsize) btn.setShortcut('Ctrl+f') btn.pressed.connect(lambda: print('快捷键已经被按下!')) window.show() sys.exit(app.exec_())
这里注意,上面的运行结果可以看出来,没有按钮文本,使用的是Ctrl+f组合快捷方式。
以上就是QAbstractButton中的按钮快捷键设置的两种方法。本文使用QPushButton来演示效果。