PyQt5 之QAbstractButton
一、描述
所有按钮控件的基类,并且提供按钮的通用功能。
二、常用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_())