1、QAbstractButton文本设置,应用场景:用户点击按钮前给用户的文本提示。
案例:我们需要先通过类别创建一个对象,在调用对象的实例方法。(要不自定义类继承该抽象类,要不使用系统提供的子类)
信号与槽使用时,槽函数不加(),因为并不是在这个位置调用槽函数,而是把槽函数本身传递给他,点击发送信号给他之后才会调用后面的槽函数。
import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("按钮的功能测试--抽象类")
window.resize(500, 500)
def one_plus():
num = int(btn.text()) + 1
btn.setText(str(num))
btn = QPushButton(window)
btn.setText("1")
btn.pressed.connect(one_plus)
window.show()
sys.exit(app.exec_())
2、图标设置:按钮的图标展示在文本的左侧。图标自定义尺寸之后,如果图标尺寸变大,会把整个按钮的尺寸撑大。
# 图标操作
icon = QIcon(r"C:\Users\22104\Desktop\OIP-C.jpg")
btn.setIcon(icon)
size = QSize(50, 50)
btn.setIconSize(size)
# 获取图标对象
print(btn.icon())
print(btn.iconSize())
3、QAbstractButton()快捷键设置:通过指定的快捷键触发按钮的点击。有两种方法:第一种有提示文本的(文本中直接用用&符号设置,&+快捷键)但是当整个按钮只展示图标、并不展示文本,这种方法没有办法设置(因为不会用到setText())、第二种没有提示文本的。
方法一:快捷键是Alt+B
def dian_ji():
print("按钮被点击")
# 快捷键的设置
btn.setText("a&bc")
btn.pressed.connect(dian_ji)
方法二:按钮只有图标,没有文本时使用该方法。
# 快捷键的设置
#btn.setText("a&bc")
btn.setShortcut("Alt+b")
btn.pressed.connect(dian_ji)
整体代码:
import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("按钮的功能测试--抽象类")
window.resize(500, 500)
# # 文本操作
# def one_plus():
# num = int(btn.text()) + 1
# btn.setText(str(num))
#
btn = QPushButton(window)
# btn.setText("1")
# btn.pressed.connect(one_plus)
def dian_ji():
print("按钮被点击")
# 快捷键的设置
#btn.setText("a&bc")
btn.setShortcut("Alt+b")
btn.pressed.connect(dian_ji)
# 图标操作
icon = QIcon(r"C:\Users\22104\Desktop\OIP-C.jpg")
btn.setIcon(icon)
size = QSize(50, 50)
btn.setIconSize(size)
window.show()
sys.exit(app.exec_())