五、按钮类控件
1、QAbstractButton
- 这个类是所有按钮类的基类,是抽象类,不能实例化,必须由其他按钮类继承来实现不同的功能。
- QAbstractButton提供的状态
状态 |
含义 |
isDown() |
提示按钮是否被按下 |
ischecked() |
提示按钮是否已经标记 |
isEnable() |
提示按钮是否可以被用户点击 |
ischeckAble() |
提示按钮是否为可标记的 |
setautoRepeat() |
设置按钮是否在用户长按时可以自动重复执行 |
信号 |
含义 |
Pressed |
当鼠标指针在按钮上并按下左键时触发该信号 |
Released |
当鼠标左键被释放时触发该信号 |
Clicked |
当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号 |
Toggled |
当按钮的标记状态发生改变时触发该信号 |
2、QPushButton
(1)QPushButton类的常用方法
方法 |
描述 |
setCheckable() |
设置按钮是否已经被选中,设置为True表示按钮将保持已点击和释放状态 |
toggle() |
在按钮状态之间进行切换 |
setIcon() |
设置按钮上的图标 |
setEnabled() |
设置按钮是否可以使用,当设置为False时,按钮变成不可用状态 |
ischedked() |
返回按钮的状态,返回值为True或False |
setDefault() |
设置按钮的默认状态 |
setText() |
设置按钮的显示文本 |
text() |
返回按钮的显示文本 |
(2)为QPushButton设置快捷键
- 通过按钮名字设置,如名字“&Download”,它的快捷键是“Alt+D”,首字母D带下划线。代码如下。
self.button = QPushButton("&Download")
self.button.setDefault(True)
案例十四 QPushButton按钮的使用
"""
# @Time:2022/12/9 0009 6:59
# @Author:晚秋拾叶
# @File:qt04_QButton.py
# @PyCharm之Python
"""
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
VBlayout = QVBoxLayout()
self.setLayout(VBlayout)
self.btn1 = QPushButton("Button1")
self.btn1.setCheckable(True)
self.btn1.toggle()
self.btn1.clicked.connect(lambda: self.whichbtn(self.btn1))
self.btn1.clicked.connect(self.btnstate)
VBlayout.addWidget(self.btn1)
self.btn2 = QPushButton('image')
self.btn2.setIcon(QIcon("./images/头像.ico"))
self.btn2.clicked.connect(lambda: self.whichbtn(self.btn2))
VBlayout.addWidget(self.btn2)
self.btn3 = QPushButton("Disabled")
self.btn3.setEnabled(False)
VBlayout.addWidget(self.btn3)
self.btn4 = QPushButton(