QAbstractButton

简要

继承关系【QWidget --> QAbstractButton】,【抽象按钮】控件,按钮的基类
是抽象类(使用时需子类化)
相关子类:普通按钮(QPushButton)、链接按钮(QCommandLinkButton)、单选按钮(QRadioButton)、复选框按钮(QCheckBox)、工具按钮(QToolButton)
学习建议:首先了解一下"信号与槽"机制

功能作用

1. 提示文本:setToolTip(str)
        
2. 图标相关:
    setIcon(QIcon(str_img)):设置图标
    setIconSize(QSize(w,h)):设置图标尺寸
    
    icon():获取图标
    iconSize():获取图标大小
        
        
3. 设置快捷键:
    setText("*&key*"):通过该该方法中加入“&”符号,实现Alt + ke快捷点击
    setShortcut(str):设置快捷键方法,str例如:"Alt+S"
    
​
4. 自动重复:
    结合信号与槽使用,能重复发出信号
    setAutoRepeat(bool):是否设置为自动重复
    setAutoRepeatInterval(ms):设置自动重复的时间间隔
    setAutoRepeatDelay(ms):设置自动重复的初始延迟时间(延迟时间过后才开始频率地自动重复)
    
    autoRepeat() --> bool
    autoRepeatInterval() --> int
    autoRepeatDelay() --> int
    
    应用场景:当用户点击按钮后不松开,重复性响应方法事件
​
5. 状态:
    setDown(bool):是否设置按钮为被按下状态(当被点击时退出按下状态)
    setChecked(bool):是否设置按钮被选中
    setCheckable(bool):设置是否按钮是可以选中的
    toggle():切换选中与非选中状态
    
    isDown() --> bool
    isChecked() --> bool
    isCheckable --> bool
    
    继承状态(QWidget):
    setEnable(bool)
    isEnable() --> bool
    
​
6. 排他性
    简要:如果同时存在多个按钮,而此时所有按钮有设置了排他性,则在同一时刻只能选中一个按钮(同级按钮控件)。是相对          于同级按钮控件来说,即有相同的直接父控件;如果直接父控件不同,则排他性在按钮控件相互间无关系、不影响
    
    setAutoExclusive(bool):是否设置为排他性
    autoExclusive() --> bool
    
    注意:按钮默认是有排他性的
    应用场景:设定按钮组中的按钮,单选特性
    
​
7. 点击:
    简要:代码式模拟一次点击
    click():普通点击
    animateClick(msc):动画点击,有动画效果的点击,msc动画持续时间
    
    hitButton(QPoint):设置点击有效区域,可通过重写该方法对QPoint进行判断,返回Flase:无效;返回True,有效。
    

信号

pressed:鼠标按下信号
released:鼠标释放信号
clicked:控件内按下 + 控件内释放信号
toggled(bool isChecked):选中状态切换信号(一般在单选框或复选框中使用)

自绘按钮

步骤:通过继承该类并复写painterEvent方法(抽象方法),并在该方法内通过相关方法绘制“需求按钮”
​
下面简单提一下需要绘制按钮使用到的方法:
QPainter(QPaintDevice):
    创建“画家”对象
    QPainterDevice:“画纸” --> “画家”配置对象(绑定“画纸”)
​
QPen(QColor,*args)
    创建一个“画笔对象”
    QColor:颜色对象
​
painter.setPen(pen):
    “画家”设置(选择)“笔”
​
painter.draw*(**args):
    “画家”进行绘画

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值