当前位置: 首页 > news >正文

Qt应用开发(基础篇)——按钮基类 QAbstractButton

一、前言

        QAbstractButton类,继承于QWidget,是Qt按钮小部件的抽象基类,提供按钮常用的功能。

        QAbstractButton按钮基类,它的子类(pushbuttoncheckboxtoolbutton等)处理用户操作,并指定按钮的绘制方式。QAbstractButton提供对按钮状态的支持,提供比如点击信号clicked、按下信号pressed、释放信号released、复选状态isChecked、是否可复选状态checkable等。

        QAbstractButton提供了按钮的文本text属性和图标icon属性,如果按钮被禁用,将会显示一个禁用的外观。如果按钮的文本包含了一个“&”的符号,那么将创建一个快捷方式,比如:

QPushButton *button = new QPushButton(tr("Ro&ck && Roll"), this);

        当按下Alt+C的时候,焦点会回到该部件。如果要显示“&”,请使用“&&”。设置快捷方式的另一种办法就是使用setShortcut()方法,这个方法主要用于部件没有文本的时候。

button->setIcon(QIcon(":/images/print.png"));
button->setShortcut(tr("Alt+F7"));

二、QAbstractButton类

1、autoExclusive

       该属性表示是否启用自动排他性,如果启用了自动排他性,在排他按钮组中,每次只能选中一个按钮,选中另一个按钮会自动取消选中先前选中的按钮。该属性除了QRadioButton,其他默认都是fasle。

bool autoExclusive() const
void setAutoExclusive(bool)

2、autoRepeat

       该属性表示是否启动自动触发。如果启用的话,当按下按钮的时候,pressed(), released()和clicked()会定期发出。默认为false。

bool autoRepeat() const
void setAutoRepeat(bool)

 3、autoRepeatDelay

        该属性用于表示自动重复触发信号延迟。

int autoRepeatDelay() const        
void setAutoRepeatDelay(int)       

4、autoRepeatInterval

        该属性用于自动重复触发信号间隔。

int autoRepeatInterval() const       
void setAutoRepeatInterval(int)      

5、checkable

        该属性用于表示是否可以可以选中,QCheckBox复选框和QRadioButton单选框默认开启,其他按钮型的默认为关闭。

bool isCheckable() const    
void setCheckable(bool)    

6、checked   

        该属性用于表示是否已经选中状态,选中得checkable打开才可以设置成功。

bool isChecked() const    
void setChecked(bool)    

7、down

        该属性用于让按钮按下,如果此属性为true,则按下按钮,不会发出pressed()和clicked()信号。默认为false。

bool isDown() const    
void setDown(bool)    

8、icon

        该属性用于保存按钮图标

QIcon icon() const               
void setIcon(const QIcon &icon)   

9、iconSize

        该属性用于保存按钮图标尺寸

QSize iconSize() const                
void setIconSize(const QSize &size)   

10、shortcut

        该属性用于表示按钮的快捷方式QKeySequence

QKeySequence shortcut() const               
void setShortcut(const QKeySequence &key)   

11、text

        该属性用于保存按钮文本,如果文本出现字符为“&”,那么将自动创建快捷方式,Ctrl+下一个字符为快捷方式。

QString text() const                
void setText(const QString &text)   

12、公共方法

1)group

        返回此按钮所属的组,如果按钮不是任何QButtonGroup的成员,则此函数返回nullptr。

QButtonGroup *group() const

13、信号

1)clicked

        当按钮被激活时(即,当鼠标光标在按钮内时按下然后释放),当键入快捷键或调用click()或animateClick()时发出该信号。如果调用setDown()、setChecked()或toggle(),则不会发出此信号。

void clicked(bool checked = false)

2)pressed

        当按钮被按下的时候触发该信号。

void pressed()

 3)released

        当按钮被按下之后被释放触发该信号。

void released()

4)toggled

        每当可检查按钮改变其状态时,都会发出此信号。如果按钮被选中,则Checked为true,如果按钮未被选中,则为false,适用于复选框、单选框按钮。

void toggled(bool checked)
http://www.lryc.cn/news/156052.html

相关文章:

  • 2023年最新的 前端面试题(个人总结)
  • 服务器基本故障排查方法
  • docker从零部署jenkins保姆级教程
  • 什么是 MVVM 模式?
  • WebGL Varing变量的作用和内插过程,及执行Varing时涉及的图形装配、光栅化、颜色插值、片元着色器执行机制等详解
  • 赢在起跑线:战略定位咨询带来的核心价值
  • 【链表OJ 11】复制带随机指针的链表
  • Jenkins自动构建(Gitee)
  • nginx离线安装
  • Oracle Merge Into ORA-00001: unique constaint violated问题
  • javaScript:DOM中的CSS操作
  • 2023最新UI工作室官网个人主页源码/背景音乐/随机壁纸/一言
  • 常用命令之mysql命令之show命令
  • iOS接入IJKPlayer遇到的问题汇总
  • 【LeetCode题目详解】第八章 贪心算法 part06 738.单调递增的数字 968.监控二叉树 (day37补)
  • 代码随想录算法训练营Day48 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III | Day 20 复习
  • Spring Boot @Validated 和Javax的@Valid配合使用
  • 论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO)
  • 在Windows下设置将EXE开机自启动
  • 反序列化漏洞及漏洞复现
  • 软件工程笔记001
  • java进行系统的限流实现--Guava RateLimiter、简单计数、滑窗计数、信号量、令牌桶
  • 《86盒应用于家居中控》——实现智能家居的灵动掌控
  • 【LeetCode】328. 奇偶链表
  • 数字城市:科技革命下的未来之城
  • Qt鼠标点击事件处理:按Escape键退出程序
  • P1162 填涂颜色
  • Vagrant命令
  • vue3+pinia实现动态类名及动态颜色
  • CSS实现隐藏滚动条但可以滚动