Python GUI编程网 > PyQt5控件_PyQt5控件方法大全 > PyQt5按钮控件QPushButton快捷键设置
python教程

PyQt5按钮控件QPushButton快捷键设置

发布博客:2022年11月10日 17:30
阅读:26
作者:Python GUI编程网

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_())

效果如下:

QPushButton

注意这里的&符号在哪个字符前就是把快捷键设置为哪个字符,比如:

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组合快捷方式。

QPushButton

以上就是QAbstractButton中的按钮快捷键设置的两种方法。本文使用QPushButton来演示效果。