5.1 QAbstractButton按钮控件基类API大全
一、QAbstractButton按钮控件基类API大全
1.基本概念
1.提示文本:setText() text()
2.图像:setIcon() setIconSize() icon() iconSize()
3.快捷键:
4.自动重复:
setAutoRepeat() 设置自动重复
setAutoRepeatInterval(毫秒) 设置自动重复间隔
setAutoRepeatDelay(毫秒) 设置首次自动重复延时
autoRepeat() 获取自动重复
autoRepeatInterval() 获取自动重复间隔
autoRepeatDelay() 获取首次自动重复延时
5.按钮状态:setDown(bool) isDown() isChecked() setChecked(bool) isCheckable() setCheckable() toggle()全选/反选
继承:QWidget中的:isEnabled() setEnabled(bool)
6.排他性:autoExclusive() setAutoExclusive(bool)
7.模拟点击:click() animateClick(ms)
8.按钮点击有效区域设置:hitButton(QPoint)
2.代码
from PyQt5.Qt import *
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('QAbstractButton - PyQt5中文网')
window.resize(600, 450)
window.move(300, 300)
btn = QPushButton(window)
btn.setText('按钮') #设置按钮的名称
btn.text()
# ==============图标设置=============== # 代码分割线 - 开始
qicon = QIcon('aaa.png') #获取对应名称的图片
btn.setIcon(qicon)
qsize = QSize(20, 20) #设置图标的大小
btn.setIconSize(qsize)
print(btn.icon())
print(btn.iconSize())
# ==============图标设置=============== # 代码分割线 - 结束
# ==============快捷键设置=============== # 代码分割线 - 开始
btn.pressed.connect(lambda : print('WWWWW'))
# btn.setText('&aaaa') # Alt + &后面的首字母
btn.setShortcut('Ctrl+s') # 这个使用起来更加自由
# ==============快捷键设置=============== # 代码分割线 - 结束
# ==============自动重复=============== # 代码分割线 - 开始
print(btn.autoRepeat()) #输出没有自动重复
btn.setAutoRepeat(True) #设置自动重复
btn.setAutoRepeatInterval(1000)#设置自动重复的速度 1000ms=1s
btn.setAutoRepeatDelay(3000)#首次重复等待3s
# ==============自动重复=============== # 代码分割线 - 结束
# ==============按钮状态=============== # 代码分割线 - 开始
btn2 = QPushButton(window)
btn2.setText('第二个按钮')
btn2.move(100, 100)
btn2.setStyleSheet('QPushButton:pressed {background-color:green}')
btn2.setDown(True)#设置按钮已经在按下的状态,第二次就已经恢复正常了
#单选框按钮
btn3 = QRadioButton(window)
btn3.setText('单选按钮')
btn3.move(150, 150)
btn3.setChecked(True)
def tog() :
# btn3.toggle()
btn3.setChecked(not btn3.isChecked())
btn2.pressed.connect(tog)
# ==============按钮状态=============== # 代码分割线 - 结束
# ==============排他性=============== # 代码分割线 - 开始
#多选框
btn4 = QCheckBox(window)
btn4.move(200, 200)
btn4.setText('男')
btn4.setAutoExclusive(True) #True 表示有排他性 即选择当前 另一个取消
btn5 = QCheckBox(window)
btn5.move(200, 230)
btn5.setText('女')
btn5.setAutoExclusive(True)
# ==============排他性=============== # 代码分割线 - 结束
# ==============按钮模拟点击=============== # 代码分割线 - 开始
btn6 = QPushButton(window)
btn6.setText('模拟点击')
btn6.move(300, 300)
# btn6.click() #自己先点击一次
btn6.animateClick(2000)# 会自动点击两秒再松开
# ==============按钮模拟点击=============== # 代码分割线 - 结束
# ==============按钮点击有效区域设置=============== # 代码分割线 - 开始
class Btn2(QPushButton) :
def hitButton(self, poi) :
print(poi) #输出点击位置
if poi.x() > self.width() / 2 :#有效区域
return True
return False
btn6 = Btn2(window)
btn6.setText('有效区域')
btn6.move(0, 300)
btn6.pressed.connect(lambda : print('========='))
# ==============按钮点击有效区域设置=============== # 代码分割线 - 结束
window.show()
sys.exit(app.exec_())
3.效果
分类:
可视化界面 / PYQT5
标签:
python可视化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码