一、描述

所有按钮控件的基类,并且提供按钮的通用功能。

二、常用API

1、提示文本

setText(str):设置按钮提示文本

text():获取按钮提示文本

 

2、图标相关

setIcon(QIcon("resource/h1.png")):设置图标

setIconSize(QSize(w, h)):设置图标大小

icon():获取图标

iconSize():获取图标大小

 

3、设置快捷键

setShortcut("Alt+G")

 

4、自动重复

setAutoRepeat(bool):设置自动重复

setAutoRepeatInterval(毫秒):设置自动重复检测间隔

setAutoRepeatDelay(毫秒):设置初次检测延迟

autoRepeat():获取是否自动重复

autoRepeatInterval():获取自动重复检测间隔

autoRepeatDelay():获取初次检测延迟

 

5、状态

isDown():是否按下按钮

setDown(bool):设置按钮, 是否被按下

isChecked():是否选中了按钮

setChecked(bool):设置按钮, 是否被选中

isCheckable():按钮是否可以被选中

setCheckable(bool):设置按钮, 是否可以被选中

toggle():切换选中与非选中状态

isEnabled()

setEnabled(bool)

 

6、排他性

如果同时存在多个按钮, 而此时所有按钮又设置了排他性,
则在同一时刻只能选中一个按钮

autoExclusive():是否自动排他,一般按钮都是False, 只有单选按钮是True

setAutoExclusive(bool):设置自动排他

 

7、点击

click():普通点击

animateClick(ms):动画点击

 

8、设置有效区域

重写hitButton(QPoint)

 

三、信号

pressed():鼠标按下信号

released():鼠标释放

clicked(checked = false):控件内按下+控件内释放

toggled(bool checked):切换信号(一般在单选框或者复选框中使用)

 

四、案例

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('QAbstractButton-点击加一')
        self.resize(500, 400)
        self.setup_ui()
    
    def setup_ui(self):
        lable = QLabel(self)
        lable.setText('1')
        
        btn = QPushButton(self)
        btn.setText('加一')
        btn.move(0, 20)
        def incr(evt):
            text = int(lable.text()) + 1
            lable.setText(str(text))
        btn.clicked.connect(incr)
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())