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

news2024/12/26 10:42:53

目录

一、前言

二:QAbstractButton 抽象按钮基类

三:QPushButton 普通按钮

四:QCommandLinkButton 链接按钮

五:QCheckBox 复选按钮

六:QRadioButton 单选按钮

七:QToolButton 工具按钮


一、前言

       常用按钮继承于QAbstractButton,而QAbstractButton继承与QWidget,是一个抽象按钮父类。

 

        QPushButton典型的按钮有OK, Apply, Cancel, Close, Yes, No和Help等,按钮可显示文本标签和可选的小图标,这些可以使用构造函数进行设置,也可以在后续通过公共函数进行设置。

        QCheckBox复选框通常用于表示应用程序中可以启用或禁用某些功能。不同的状态做出不同的行为。经典用途在问卷调查、状态确认等场景。

       QRadioButton和QCheckBox一样也是一个打开关闭的按钮,不同的是这是一个单选按钮,在一组单选按钮中,一次只能选中一个单选按钮,如果用户选择另一个按钮,则关闭先前选择的按钮。

        QToolButton工具按钮是一种特殊的按钮,它提供对特定命令或选项的快速访问,与普通的命令按钮相反,工具按钮通常不显示文本标签,而是显示一个图标。工具按钮的一个经典用途在软件的头部工具栏的工具选项。

         QCommandLinkButton一个带着图标的按钮,通常设计用来替换类似“下一步”的按钮,默认图标显示一个右箭头。

二:QAbstractButton 抽象按钮基类

1、autoDefault此属性保存是否启用自动排他性,默认情况下,除QRadioButton单选按钮外,autoExclusive是关闭的。

bool autoExclusive() const    //获取是否自动排他性
void setAutoExclusive(bool)   //设置是否自动排他性

2、autoRepeat 保存是否信号是否定期重复发出,比如按下按钮时,pressed()、release()和clicked()信号会定期发出。默认情况下,autoRepeat是关闭的。卷帘门上下开关是经典的应用场景。

bool autoRepeat() const        //获取是否自动重复触发信号
void setAutoRepeat(bool)       //设置是否自动重复触发信号

3、autoRepeatDelay 自动重复触发信号延迟 配合autoRepeat

int autoRepeatDelay() const        //获取自动重复触发信号延迟值
void setAutoRepeatDelay(int)       //设置自动重复触发信号延迟值

4、autoRepeatInterval 自动重复触发信号间隔 配合autoRepeat

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、信号

void clicked(bool checked = false)    //按钮按下松开之后触发
void pressed()                        //按钮按下触发
void released()                       //按钮松开触发
void toggled(bool checked)            //按钮选中状态改变触发,复选框或者单选框使用

三:QPushButton 普通按钮

1、autoDefault 属性保存是否自动为默认按钮,默认为false,如果设置为true,会有一个3像素的边框表示。

bool autoDefault() const        //获取是否主动默认按钮
void setAutoDefault(bool)       //设置是否主动默认按钮 

 2、default属性保存是否为默认按钮,默认为false,如果设置为true,会有一个3像素的边框表示。默认和自动默认按钮主要是用来响应用户按下Enter和Space按键响应。

 bool isDefault() const        //获取是否默认按钮 
 void setDefault(bool)         //设置是否默认按钮 

3、flat属性用于确定按钮边框是否凸起,默认为false。如果设置为true,则不会绘制按钮背景,除非按钮被按下。

bool isFlat() const        //获取是否凸起
void setFlat(bool)         //设置是否凸起

4、menu 点击按钮显示一个menu菜单栏。

QMenu *QPushButton::menu() const          //获取菜单
void QPushButton::setMenu(QMenu *menu)    //设置菜单

四:QCommandLinkButton 链接按钮

1、description属性保存描述文本,字体大小会比文本小。

QString description() const                        //获取描述文本
void setDescription(const QString &description)    //设置描述文本

五:QCheckBox 复选按钮

1、tristate属性保留复选框是否为三状态复选框,默认为false。

 复选框状态有:

Qt::Unchecked          //未选中
Qt::PartiallyChecked   //半选中、部分选中
Qt::Checked            //选中

2、checkState选中状态

Qt::CheckState checkState() const           //获取当前选中状态
void setCheckState(Qt::CheckState state)    //设置选中状态
信号
void stateChanged(int state)                //选中状态改变触发此信号

六:QRadioButton 单选按钮

        单选按钮,一次只能选中一个单选按钮,如果用户选择另一个按钮,则关闭先前选择的按钮。实际应用中与QCheckBox功能类似,区别在于直接展示全部选项给用户选择。

七:QToolButton 工具按钮

        这是一个特殊的按钮,一般显示文本,只显示图标,结合toolBar使用。

1、arrowType 属性保存是否是箭头图标。

Qt::ArrowType arrowType() const         //获取是否是箭头图标
void setArrowType(Qt::ArrowType type)  //设置是否是箭头图标

Qt::NoArrow          //非箭头
Qt::UpArrow          //上箭头
Qt::DownArrow        //下箭头
Qt::LeftArrow        //左箭头
Qt::RightArrow       //右箭头

2、autoRaise属性保存是否自动上升。

bool autoRaise() const            //获取是否自动上升
void setAutoRaise(bool enable)    //设置是否自动上升

 4、menu 点击按钮显示一个menu菜单栏。

QMenu *QPushButton::menu() const          //获取菜单
void QPushButton::setMenu(QMenu *menu)    //设置菜单

3、popupMode属性保存和弹出菜单的交互方式。

QToolButton::ToolButtonPopupMode popupMode() const          //获取弹出方式
void setPopupMode(QToolButton::ToolButtonPopupMode mode)    //设置弹出方式

1) QToolButton::DelayedPopup    //默认值,在按住工具按钮一段时间后显示菜单
2) QToolButton::MenuButtonPopup //在此模式下,工具按钮显示一个特殊的箭头,以指示存在菜单。当按下按钮的箭头部分时,将显示菜单。
3) QToolButton::MenuButtonPopup //当按下工具按钮时,菜单立即显示。在这种模式下,按钮本身的动作不会被触发

4、toolButtonStyle此属性用于确定工具按钮是仅显示图标、仅显示文本还是仅显示图标旁边/下方的文本。

Qt::ToolButtonStyle toolButtonStyle() const        //获取按钮样式
void setToolButtonStyle(Qt::ToolButtonStyle style) //设置按钮样式
 
Qt::ToolButtonIconOnly        //  只显示图标
Qt::ToolButtonTextOnly        //  只显示文本
Qt::ToolButtonTextBesideIcon  //  文本在图标旁边
Qt::ToolButtonTextUnderIcon   //  文本在图标下面
Qt::ToolButtonFollowStyle     //  跟随系统

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

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

相关文章

一劳永逸的日报月报制作方法,还不快来get

许多政府机构、企业都会使用日报、月报来把握现有状况,比如说生产制造企业,需要通过日报来监控项目进度和生产数据。哪怕这些报表制作起来繁琐浪费、重复复杂,但是企业不得不通过日报对生产数据进行实时把控。 那么有没有一种办法或者工具&a…

Linux为何是软件开发专业人员的心头爱-Robotics Ubuntu

Linux与Windows都是十分常见的电脑操作系统,相信你对它们二者都有所了解!在你的使用过程中,是否有什么事让你觉得在Linux上顺理成章,换到Windows上就令你费解?亦或者关于这二者你有任何想要分享的,都可以在…

幸福长寿的秘诀 —— 查理芒格

查理芒格:幸福长寿的秘诀其实很简单。_哔哩哔哩_bilibili People trying to figure out what the secret to life, is to a long and happy life ? Its simple. You dont have a lot of envy. You dont have a lot of resentment. You dont overspend your incom…

wms-3代货架标签系统(四个灯供电版本)接口文档

一、查询标签信息接口 接口类型:POST, 参数格式:json array 链接形式: http://localhost/wms/associate/getTagsMsg 代码形式: { url : http://localhost/wms/associate/getTagsMsg, requestMethed : GET, requestParamete…

Django模板语法和请求

1、在django关于模板文件加载顺序 创建的django项目下会有一个seeetings.py的文件 如果在seeetings.py 中加了 os.path.join(BASE_DIR,‘templates’),如果是pycharm创建的django项目会加上,就会默认先去根目录找templates目录下的html文件&#xff0c…

CMIP6数据处理及在气候变化、水文、生态等领域中的实践技术应用

气候变化对农业、生态系统、社会经济以及人类的生存与发展具有深远影响,是当前全球关注的核心议题之一。IPCC(Intergovernmental Panel on Climate Change,政府间气候变化专门委员会)的第六次评估报告明确;指出&#x…

建议收藏:模拟版图面试题,含解析(附下载)

IC行业是一个充满竞争和机遇的领域,而作为一名模拟版图工程师,在面试中表现出色至关重要。 之前为大家全面解析过模拟版图,但面对面对即将找工作或者是面对今年秋招的的同学,可能对于模拟版图面试这块更感兴趣。 秋今天芯博士为…

Python数据可视化工具——Matplotlib

目录 1 基础准备1.1简介1.2安装1.3 绘图基础知识1.4 查询matplotlib系统中文字体 2 绘图流程2.1 简单绘图2.2 标准绘图2.3 绘制子图2.3.1 add_subplot方法两行一列子图 plt1.add_subplot(2,1,*)一行两列子图 plt1.add_subplot(1,2,*) 2.3.2 plt.subplot()方法 2.4 添加文字说明…

【必看,干货满满】K8S云原生技术小结

Docker容器技术总结: 1、Docker容器部署及常用命令详解 2、Dockerfile使用及案例详解 3、Docker容器数据卷详解 4、Docker网络详解 5、Docker资源配额详解 6、Docker私有仓库Harbor搭建及使用 7、Docker图形化管理工具Protainer搭建 8、Docker配置阿里镜像加速源&am…

最新版本docker 设置国内镜像源 加速办法

解决问题:加速 docker 设置国内镜像源 目录: 国内加速地址 修改方法 国内加速地址 1.Docker中国区官方镜像 https://registry.docker-cn.com 2.网易 http://hub-mirror.c.163.com 3.ustc https://docker.mirrors.ustc.edu.cn 4.中国科技大学 https://docker.mirrors…

【《React Hooks实战》——指导你使用hook开发性能优秀可复用性高的React组件】

使用React Hooks后,你很快就会发现,代码变得更具有组织性且更易于维护。React Hooks是旨在为用户提供跨组件的重用功能和共享功能的JavaScript函数。利用React Hooks, 可以将组件分成多个函数、管理状态和副作用,并且不必声明类即…

生信学院|07月27日《非线性仿真的领头羊之ABAQUS介绍》

课程主题:非线性仿真的领头羊之ABAQUS介绍 课程时间:2023年07月27日 14:00-14:30 主讲人:张明学 生信科技 CAE专家 ABAQUS功能ABAQUS应用Q&A 请安装腾讯会议客户端或APP,微信扫描海报中的二维码报名哦~~~ 或者点击链接报…

用js把地区字符串格式化为省、市、区

用js把地区信息格式化为省、市、详细信息,结果如下 代码如下 formatter("广东省深圳市南山区深南大道10000号") formatter("西藏自治区拉萨市城关区北京中路35号") formatter("四川省阿坝藏族羌族自治州九寨沟县漳扎镇301省道") for…

cass--单选不累加设置

打开软件,在空白处右击--选项--选择,如下: 完成后,点击确定按钮即可。

Vue学习Day3——生命周期\组件化

一、Vue生命周期 Vue生命周期:就是一个Vue实例从创建 到 销毁 的整个过程。 生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁 1.创建阶段:创建响应式数据 2.挂载阶段:渲染模板 3.更新阶段:修改数据,更…

elment-ui的侧边栏 开关及窗口联动

<template><div class"asders"><el-aside width"200px"><div class"boxbody"><div>源码外卖</div><el-switch v-model"isCollapse" :active-value"true" :inactive-value"fals…

【U8+】财务三大UFO报表的勾稽关系

【三大报表】 资产负债表、利润表、现金流量表&#xff0c;称之为企业三大报表&#xff0c;也是最常见、常用的报表。 【勾稽关系】 核对报表的勾稽关系之前&#xff0c;需要保证“资产负债表”平衡&#xff0c;否则无法正确勾稽检查&#xff1b;资产负债表、利润表、现金流量…

护眼台灯哪个牌子好?三款主流品牌横向对比测评

随着暑假的到来&#xff0c;不少家长想添置或者换新的护眼台灯给孩子使用&#xff0c;护眼台灯正是线下一款炙手可热的护眼神器&#xff0c;很多家长纷纷想给自己孩子买一款真正护眼的台灯。不过面对市场上各种品牌和型号的护眼台灯&#xff0c;对于不熟悉或者是第一次购买护眼…

机器学习深度学习——softmax回归的简洁实现

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——softmax回归从零开始实现 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你…

Java并发编程第2讲——线程基础

目录 一、线程简介 1.1 什么是线程 1.2 线程的组成 1.3 线程的特点 1.4 Java的main方法 二、线程的创建与启动 2.1 线程的创建 2.1.1 继承Thread类&#xff08;无返回值&#xff09; 2.1.2 实现Runnable接口&#xff08;无返回值&#xff09; 2.1.3 实现Callable接口…