简要:
继承关系【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):
“画家”进行绘画
本文含有隐藏内容,请 开通VIP 后查看