【Qt按钮基类】QAbstractButton[ 所有按钮基类 ]

news2025/7/8 18:36:57

【Qt按钮基类】QAbstractButton[ 所有按钮基类 ]

  • Qt开启-》按钮基类 QAbstractButton
    • 一、setText (设置文本)
    • 二、text(获取文本)
    • 三、setIcon(设置图标)
    • 四、icon(获取图标)
    • 五、 iconSize (获取图标大小)
    • 六、setIconSize (设置图标大小)
    • 七、isCheckable (判断checkable属性)
    • 八、setCheckable (设置checkable属性)
    • 九、isChecked (判断选中状态)
    • 十、setChecked (设置按钮的选中状态)
    • 十一、signal[ SIGNAL ] (信号)
    • 十二、clicked (单击触发信号)
    • 十三、pressed (按下触发信号)
    • 十四、released (松开触发信号)
    • 十五、Toggled (按钮改变触发信号)
    • 十六、Q_OBJECT[ SLOT ] (槽)
    • 十七、animateClick (动画点击)
    • 十八、click (自动点击按钮)
    • 十九、toggle (切换可检查按钮的状态)

在这里插入图片描述


Qt开启-》按钮基类 QAbstractButton

在这里插入图片描述
继承关系:
在这里插入图片描述

对应按钮来说,一般有三种常见状态,分别为: Normal, Hover, Pressed
【1】Normal: 普通状态,没有和鼠标做任何接触
【2】Hover: 悬停状态,鼠标位于按钮之上,但是并未按下
【3】Pressed: 按压状态,鼠标键在按钮上处于按下状态


默认情况下,鼠标在按钮上按下,按钮从 Normal 切换到 Pressed 状态,鼠标释放, 按钮从 Pressed 恢复到 Normal
状态。


当我们给按钮设置了 check 属性之后,情况就有所不同了, 在按钮上释放鼠标键, 按钮依然会处 在 Pressed 状态,再次点击按钮,按钮才能恢复到 Normal 状态。具有 check 属性的按钮就相当 于一个开关,每点击一次才能实现一次状态的切换。


一、setText (设置文本)

// 参数text的内容显示到按钮上 静态函数
void QAbstractButton::setText(const QString &text);

二、text(获取文本)

// 得到按钮上显示的文本内容, 函数的返回就是
QString QAbstractButton::text() const;

三、setIcon(设置图标)

// 给按钮设置图标
void setIcon(const QIcon &icon);

四、icon(获取图标)

// 得到按钮设置的图标
QIcon icon() const;

五、 iconSize (获取图标大小)

// 得到按钮图标大小
QSize iconSize() const

六、setIconSize (设置图标大小)

// 设置按钮图标的大小
[slot]void setIconSize(const QSize &size);

七、isCheckable (判断checkable属性)

// 判断按钮是否设置了checkable属性, 如果设置了点击按钮, 按钮一直处于选中状态
// 默认这个属性是关闭的, not checkable
bool QAbstractButton::isCheckable() const;

八、setCheckable (设置checkable属性)

// 设置按钮的checkable属性
// 参数为true: 点击按钮, 按钮被选中, 松开鼠标, 按钮不弹起,再次点击,按钮弹起
// 参数为false: 点击按钮, 按钮被选中, 松开鼠标, 按钮弹起
void QAbstractButton::setCheckable(bool);

九、isChecked (判断选中状态)

// 判断按钮是不是被按下的选中状态
bool QAbstractButton::isChecked() const;

十、setChecked (设置按钮的选中状态)

// 设置按钮的选中状态: true-选中, false-没选中
// 设置该属性前, 必须先进行 checkable属性的设置
void QAbstractButton::setChecked(bool);

十一、signal[ SIGNAL ] (信号)

当按钮被激活时(即,当鼠标光标在按钮内时按下然后释放),当键入快捷键时,或者当click()animateClick()被调用时,这个信号被发出。

值得注意的是,如果调用setDown()、setChecked()或toggle(),则不会触发此信号。

十二、clicked (单击触发信号)

//单击触发信号
[signal] void QAbstractButton::clicked(bool checked = false);

十三、pressed (按下触发信号)

// 在按下按钮的时候发射这个信号
[signal] void QAbstractButton::pressed();

十四、released (松开触发信号)

// 在释放这个按钮的时候发射直观信号
[signal] void QAbstractButton::released();
// 每当可检查按钮改变其状态时,就会发出此信号。checked在选中按钮时为true,	在未选中按钮时为false。

十五、Toggled (按钮改变触发信号)

// 每当可检查按钮改变其状态时,就会发出此信号。
//checked在选中按钮时为true,在未选中按钮时为false。
[signal] void QAbstractButton::toggled(bool checked);

十六、Q_OBJECT[ SLOT ] (槽)

十七、animateClick (动画点击)

// 执行一个动画点击:按钮被立即按下,并在毫秒后释放(默认是100毫秒)。
[slot] void QAbstractButton::animateClick(int msec = 100);

十八、click (自动点击按钮)

// 执行一次按钮点击, 相当于使用鼠标点击了按钮
[slot] void QAbstractButton::click();

十九、toggle (切换可检查按钮的状态)

// 切换可检查按钮的状态。 checked <==> unchecked
[slot] void QAbstractButton::toggle();

有关这个按钮的操作在会不断更新


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

体系结构29_多处理机的互联网络

互连网络是将集中式系统或分布式系统中的结点连接起来所构成的网络&#xff0c;这些结点可能是处理器、存储模块或者其它设备&#xff0c;它们通过互连网络进行信息交换。在拓扑上&#xff0c;互连网络为输入和输出两组结点之间提供一组互连或映象&#xff08;mapping&#xff…

通力科技通过注册:9个月营收3.4亿 项献忠家族色彩浓厚

雷递网 雷建平 11月25日浙江通力传动科技股份有限公司&#xff08;简称&#xff1a;“通力科技”&#xff09;日前通过注册&#xff0c;准备在深交所创业板上市。通力传动计划募资3.45亿元。其中&#xff0c;2亿元用于新增年产5万台工业减速机智能工厂技改项目&#xff0c;5041…

成为一名厉害的程序员,需要哪些必备知识

程序员在入职时&#xff0c;大部分互联网公司都会进行基础知识的考察&#xff0c;基础知识的重要性不言而喻。计算机基础知识对程序员来说很重要。计算机核心基础知识方面&#xff0c;算法、数据结构、组成原理、网络等涉及到的基础知识一定要彻底掌握&#xff0c;牢牢记住并融…

[附源码]java毕业设计智能视频推荐网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

3.90 OrCAD软件Annote命令下的每个选项的含义是什么?OrCAD软件Title Block中的原理图页数如何进行增加?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

【自学前端】HTML篇已完结(附14节视频)

I have a dream,Front end development will not require additional training. 目录 内容预览 通过这里找视频&#xff1a; 1、内容仍然有所欠缺 2、目前以0基础再实战为主 3、目前未包含面试题 4、下一步的计划 5、希望收到反馈 内容预览 △ 目前纯HTML篇课程已经完成…

【项目实战:核酸检测平台】第三章 利其器

第三章 利其器 摘要:俗话说的好工欲善其事&#xff0c;必先利其器&#xff0c;框架搭的好&#xff0c;开发起来很舒服&#xff0c;搭的不好&#xff0c;开发起来就很痛苦。 一个程序员只会写业务代码&#xff0c;最多算是个码农&#xff0c;搭框架的本事、遇到难题的解决能力…

Docker学习(5)—— 在Docker上安装软件

一. 安装Tomcat 1. 下载最新版 (1) 拉取Tomcat镜像 docker pull tomcat (2) 查看是否拉取到Tomcat镜像 docker images tomcat (3) 创建Tomcat容器并启动 docker run -d -p 8080:8080 tomcat 这时访问tomcat首页报404错误&#xff0c;有以下两个原因&#xff1a;①防火…

[计算机毕业设计]大数据的B站数据分析与可视化

目录 前言 课题背景和意义 实现技术思路 数据爬取 数据可视化 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研…

为什么 NGINX 的 reload 不是热加载?

作者&#xff1a;刘维 这段时间在 Reddit 看到一个讨论&#xff0c;为什么 NGINX 不支持热加载&#xff1f;乍看之下很反常识&#xff0c;作为世界第一大 Web 服务器&#xff0c;不支持热加载&#xff1f;难道大家都在使用的 nginx -s reload 命令都用错了&#xff1f; 带着这个…

入职阿里必会199道SpringCloud面试题,你能掌握多少?

前言 Spring Cloud 自 2016 年 1 月发布第一个 Angel.SR5 版本&#xff0c;到目前 2020 年 3 月发布 Hoxton.SR3 版本&#xff0c;已经历经了 4 年时间。这 4 年时间里&#xff0c;Spring Cloud 一共发布了 46 个版本&#xff0c;支持的组件数从 5 个增加到 21 个。 Spring C…

linux用户及用户组的分类、管理

一、分类 1.用户和用户组分类 &#xff08;1&#xff09;用户分类 超级用户&#xff08;root&#xff09;——它具有一切权限&#xff0c;只有进行系统维护&#xff08;例&#xff1a;建立用户&#xff09;或其他必要情形下才用超级用户登录&#xff0c;以避免系统出现安全问…

Qt程序打包成一个单独exe的方法

目录 Qt程序打包成一个单独exe的方法 程序发布 程序打包 问题 Qt程序打包成一个单独exe的方法 Qt程序发布及打包&#xff0c;同时修改可执行文件的图标。本教程使用Qt自带的 windeployqt 工具外加Enigma Virtual Box打包工具。首先需要知道的是&#xff0c;Qt程序发布需要的…

【MM小贴士】物料主数据的中止与后继(3)

话不多说&#xff0c;直接上3&#xff0c; 前两篇的blog可以参考&#xff1a; 【MM小贴士】物料主数据的中止与后继(1)_竹大的博客-CSDN博客https://yanshoushuai.blog.csdn.net/article/details/125660495【MM小贴士】物料主数据的中止与后继(2)_竹大的博客-CSDN博客https:/…

QT 事件处理

03 Qt中是事件处理_哔哩哔哩_bilibili 1&#xff0c;新加mylabel文件&#xff0c;并 修改mylabe的基类QLabel 2 label提升为类 3&#xff0c;鼠标事件 myLabel.h #ifndef MYLABEL_H #define MYLABEL_H#include <QLabel>class myLabel : public QLabel {Q_OBJECT public…

TCP三次握手四次挥手简介

TCP三次握手四次挥手简介 图解三次握手、四次挥手 建立连接&#xff1a;三次握手 关闭连接&#xff1a;四次挥手 上图传递过程中出现的几个字符&#xff08;SYN,ACK,FIN,seq,ack&#xff09;各代表什么意思 SYN&#xff0c;ACK&#xff0c;FIN存放在TCP的标志位(标志位一共有…

【设计模式】设计模式的七大原则

目录标题4. 设计模式的七大原则4.1 开闭原则&#xff08;对扩展开发&#xff0c;对修改关闭&#xff1a;需要接口和抽象类来实现&#xff09;Demo: 搜狗输入法 的皮肤设计4.2 里氏替换原则&#xff08;任何基类可以出现的地方&#xff0c;子类一定可以出现&#xff1a;尽量不要…

[Redis]-四种部署方式

森格 | 2022年11月 本文是对Redis部署方式的学习&#xff0c;主要学习基本原理&#xff0c;以及几种方式的优缺点。 一、部署方式概况 对于Redis的安装部署主要可以分为单机版、主从同步、Sentinel哨兵、Cluster集群部署四种方式&#xff0c;下面一起看下几种方式的优缺点。 二…

Python闭包

目录 变量作用域规则(LEGB规则) 闭包 闭包的用途 &#xff08;一&#xff09;读取函数内部的变量 &#xff08;二&#xff09;让函数内部的局部变量始终保持在内存中 &#xff08;三&#xff09;总结 变量作用域规则(LEGB规则) 在下面的实例中,我们定义一个测试函数,它读取…

112. 路径总和

文章目录2.示例3.答案①递归②BFS③DFS给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返…