QT中的按钮控件Buttons介绍

目录

Buttons 按钮控件

1、常用属性介绍

 2、按钮介绍

2.1QPushButton 普通按钮

2.2QtoolButton 工具按钮

2.3Radio Button单选按钮

2.4CheckButton复选按钮

2.5Commam Link Button命令链接按钮

2.6Dialog Button Box命令链接按钮


Buttons 按钮控件

在Qt里,最常使用的控件就是按钮,有了按钮,就可以点击,从而响应事件,达到人机交互的效果。Qt 内置了六种按钮部件如下

  • QPushButton:下压按钮,继承 QAbstractButton 类,被 QCommandLinkButton 继承。常用于执行命令或触发事件
  • QToolButton:工具按钮,继承 QAbstractButton 类,是一种用于命令或者选项的可快速访问的按钮
  • QRadioButton:选择按钮,继承 QAbstractButton 类,通常成组出现,用于提供两个或多个互斥选项
  • QCheckBox:检查框,继承 QAbstractButton 类,与 RadioButton 的区别是选择模式,单选按钮提供多选一,复选按钮提供多选
  • QCommandLinkButton:命令链接按钮,继承 QPushButton 类,与 RadioButton 相似,用于在互斥选项中选择一项, 区别是CommandLinkButton 除带有正常文字描述文本外,默认携带一个箭头图标,表明按下按钮将打开另一个窗口或页面
  • QDialogButtonBox:对话框按钮,由 QDialogButtonBox 类包装而成,QDialogButtonBox 继承 QWidget,常用于对话框里自定义按钮,比如“确定”和“取消” 按钮

1、常用属性介绍

 2、按钮介绍

2.1QPushButton 普通按钮

1)控件位置:

Button->PushButton

2)控件介绍:

该控件继承自QButton类,通常用于执行命令或触发事件。

3)控件属性设置选项:

(1)name:该控件对应源代码中的名字。

(2)text:该控件对应图形界面中显示的名字。

(3)font:设置text的字体。

(4)enabled:该控件是否可用。

信号:
void clicked(bool checked = false)
void pressed()
void released()函数接口: 
setText(const QString &) //设置按钮的文字 
text() const : QString   //获取按钮的文件 
ui->pushButton->setEnabled(false); //使按钮失效 
ui->pushButton->setEnabled(true); //使按钮生效
setIcon(const QIcon &) //给按钮设置一个小图标//例子:
ui->pushButton->setIcon(QIcon("D:/Downloads/set.ico"));
ui->pushButton->setIconSize(QSize(40, 40));

2.2QtoolButton 工具按钮

1)控件位置:

Buttons->ToolButton

2)控件介绍:

工具按钮,继承自QButton类,是一种用于命令或者选项的可以快速访问的按钮,通常在ToolBar里面。工具按钮通常显示的是图标,而不是文本标签。ToolButton支持自动浮起。在自动浮起模式中,按钮只有在鼠标指向它的时候才绘制三维的框架。

3)控件设置选项:

(1)name:该控件对应源代码中的名称。

(2)text:工具按钮标签文本。

(3)font:设置工具按钮标签的字体。

(4)autoRaise:自动浮起是否生效。

(5)iconSet:提供显示在按钮上的图标的图标集。

(6)on:工具按钮是否为开。

(7)textLabel:工具按钮自动提示文本。

(8)usesTextLabel:自动提示文本textLabel是否工作,默认为false。

提示:使用工具按钮需要设置工具菜单

信号
void triggered(QAction *action)
​
//设置工具菜单 
void setMenu(QMenu *menu)
//显示菜单 
void showMenu() 
​
QMenu 菜单类: 
QAction *addAction(const QString &text)
 //设置一个菜单QMenu* m = new QMenu(ui->toolButton);//菜单栏m->addAction("西瓜");m->addAction("白菜");m->addAction("苹果");//把菜单设置到工具按钮中 ui->toolButton->setMenu(m);//当点击时显示菜单 
void MainWindow::on_toolButton_clicked()
{ui->toolButton->showMenu(); //显示菜单
}//获取触发信号 
void MainWindow::on_toolButton_triggered(QAction* arg1)
{ui->toolButton->setText(arg1->text());
}QToolButton::QToolButton(QWidget *parent,const char *name = 0)
构造一个名字为name,父对象为parent的ToolButton。QToolButton::QToolButton(const QIconset &iconSet,const QString &textLabel,const QString &grouptext,QObject *receiver,const char *slot,QToolBar *parent,const char *name = 0)
构造一个名称为name,父对象为parent(必须为QToolBar)的工具按钮。工具按钮将显示iconSet,工具提示为textLabel,状态条信息为grouptext,同时会将工具按钮链接到receiver对象的槽函数。QToolBButton::QToolButton(ArrowType type,QWidget *parent,const char *name = 0)
此构造函数是把工具按钮构造成箭头按钮,type定义了箭头的方向,可用的值有LeftArrow、RightArrow、UpArrow、DownArrow。void QToolButton::setAutoRaise(bool enable)
根据参数enable值设置按钮是否可自动浮起。void QToolButton::setIcon(const QIconSet &)
设置显示在工具按钮上的图标。void QToolButton::setOn(bool enable)[虚槽]
设置按钮是否为开,enable等于true则设置为开,否则设置为关。void QToolButton::setTextLabel(const QString &)[槽]
设置按钮的提示标签。QString QToolButton::textLabel()const
返回按钮的提示标签。

2.3Radio Button单选按钮

1)控件位置:

Buttons->RadioButton

2)控件介绍:

单选框,继承自QButton类,通常成组出现,用于提供两个或多个互斥选项。

3)控件属性设置选项:

(1)name:该控件对应源代码中所显示的名字。

(2)text:该控件对应图形界面中所显示的名字。

(3)font:设置text字体。

(4)enabled:该控件是否可用,可用为true,不可用为false。

(5)checked:用来设置或返回是否选中单选按钮,选中为true,未选中为false。

QRaidoButton::QRadioButton(const QString &text,QWidget *parent,const char *name = 0)
构造一个名称为name、父对象为parent并且文本为text的单选按钮。bool QRadioButton::isChecked()const
返回是否选中单选按钮,选中时返回true,没有选中时返回false。void QButton::setText(const QString &)
设置该按钮上显示的文本。QString QButton::text()const
返回该按钮上显示的文本。void QButton::stateChanged(int state)[signal]
当更改checked属性值时,将发射信号。void QRadioButton::setChecked(bool check)[virtual slot]
设置单选按钮是否被选中为check。

2.4CheckButton复选按钮

1)控件位置:

Buttons->CheckBox

2)控件介绍:

复选框,继承自QButton,与RadioButton的区别是选则模式,单选框提供多选一,复选框提供多选多。

3)控件属性设置选项:

(1)name:该控件对应源代码中所显示的名字。

(2)text:该控件对应图形界面中所显示的名字。

(3)font:设置text字体。

(4)enabled:该控件是否可用,可用为true,不可用为false。

(5)checked:用来设置或返回是否选中单选按钮,选中为true,未选中为false。

QCheckBox::QCheckBox(const QString &text,QWidget *parent,const char *name = 0)
构造一个名称为name、父对象为parent并且文本为text的复选框。QCheckBox::isChecked()const
选中该复选框,返回true,否则返回false。void QButton::setText(const QString &)
设置该按钮上显示的文本。QString QButton::text()const
返回该按钮上显示的文本。void QButton::stateChange(int state)[signal]
当更改checked属性时,将发射这个信号。void QCheckBox::setChecked(bool check)[槽]
设置复选框是否选中,状态为check的值。

2.5Commam Link Button命令链接按钮

1)控件位置:

Buttons->CommandLinkButton

2)控件介绍:

命令链接按钮,继承自QPushButton,用于在互斥选项中选择一项,CommandLinkButton除带有正常的按钮上的文字描述文本外,默认情况下,它也将携带一个箭头图标,表明按下按钮将打开另一个窗口或页面。

3)控件属性设置选项:

(1)name:该控件对应源代码中的名称。

(2)text:该控件对应图形界面中所显示的标签。

(3)font:设置text的字体。

(4)enabled:该控件是否可用。

(5)description:一个描述性的标签,以配合按钮上的文字。

QCommandLinkButton::QCommandLinkButton(QWidget *parent = 0)
构造一个父对象为parent的命令链接按钮。QCommandLinkButton::QCommandLinkButton(const QString &text,QWidget *parent = 0)
构造一个父对象为parent、文本为text的命令链接按钮。QCommandLinkButton::QCommandLinkButton(const QString &text,const QString &description,QWidget *parent = 0)
构造一个父对象为parent、文本为text和描述文本为description的命令链接按钮。void QButton::clicked()[信号]
当单击该按钮时,发射信号。void QButton::pressed()[信号]
当按下该按钮时,发射这个信号。void QButton::released()[信号]
当释放该按钮时,发射这个信号。void QButton::setText(const QString &)
设置改按钮上显示的文本。QString QButton::text()cosnt
返回按钮上显示的文本。

2.6Dialog Button Box命令链接按钮

1)控件位置:

Buttons->ButtonBox

2)控件介绍:

按钮键,室友QDialogButtonBox类包装成的。

3)控件属性设置选项: 

(1)name:该控件对应源代码中的名称。

(2)font:设置text的字体。

(3)enabled:该控件是否可用。

(4)centerButtons:ButtonBox中的按钮是否居中布局,默认值为false。

(5)orientation:按钮布局方向,Qt提供QT::Horizontal和QT::Vertical两种。

(6)standardButtons:标准按钮集合。

QDialogButtonBox::QDialogButtonBox(QWidget *parent = 0)
构造一个按钮盒,父对象为parent。QDialogButtonBox::QDialogButtonBox(QT::Orientation orientation,QWidget *parent = 0)
构造一个按钮盒,父对象为parent,排列方向为orientation,并且包含buttons。QDialogButtonBox::QDialogButtonBox(StandardButton buttons,QT::Orientation orientation = QT::Horizontal,QWidget *parent = 0)
构造一个按钮盒,父对象为parent,排列方向为orientation。void QDialogButtonBox::accepted()[signal]
当单击按钮盒里的定义为AcceptRole和YesRole的按钮时,发射信号。void QDialogButtonBox::addButton(QAbstractButton *button,ButtonRole role)
向按钮盒里添加按钮button,定义按钮button的角色为role,如果role是无效的,则不添加按钮,如果按钮已添加,移除并在次添加为新角色。QPushButton *QDialogButtonBox::addButton(StandarButton button)
向按钮盒中添加一个标准按钮button,并返回标准按钮。如果按钮无效,不添加,返回0.QPushButton *QDialogButtonBox::addButton(const QString &text,ButtonRole role)
创建一个按钮的文本为text,以指定角色添加到按钮盒,并返回相应的按钮,如果role是无效的,则不创建,返回0.void QDialogButtonBox::clear()
清空该按钮盒里的所有按钮。void QDialogButtonBox::clicked(QAbstractButton *button)[signal]
当单击按钮盒里的按钮button时,发射这个信号。void QDialogButtonBox::helpRequested()[signal]
当单击按钮盒里的定义为HelpRole的按钮时,发射这个信号。void QDialogButtonBox::rejected()[signal]
当单击按钮盒里定义为RejectRole和NoRole的按钮时,发射这个信号。void QDialogButtonBox::removeButton(QAbstractButton *button)
移除按钮盒里的按钮Button,但是不删除,设置它的父母为0.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯手写Tomcat,看不懂你来揍我【附源码、图文详解】

源码放在了文章末尾 理论知识 何为Tomcat Tomcat是一个开源的Servlet容器,它实现了Java Servlet、JavaServer Pages (JSP)、WebSocket等Java EE规范,用于在Web服务器上运行Java Web应用程序。 说的简单点,Tomcat能处理网络传输来的请求。 …

广告牌安全传感器,实时监测事故隐患尽在掌握

在现代城市中,广告牌作为商业宣传的重要媒介,已然成为城市中一道独特的风景线。然而,随着城市迅速发展,广告牌的安全问题也引起了大众关注。广告招牌一般悬挂于建筑物高处,量大面大。由于设计、材料、施工方法的缺陷&a…

PCIE超高速实时运动控制卡在六面外观视觉检测上的应用

市场应用背景 XPCIE1028超高速实时运动控制卡在六面外观检测高速视觉筛选中的应用,结合正运动技术提供的专用筛选机调试软件,可实现15000pcs/分钟的IO触发检测速度,只需简单参数设置,搭配图像采集硬件和视觉处理软件,…

【算法】活用双指针完成复写零操作

Problem: 1089. 复写零 文章目录 题目解析算法原理分析找到最后一个复写的位置从后往前进行复写操作 代码展示 题目解析 首先我们来分析一下本题的题目意思 可以看到题目中给到了一个数组,意思是让我们将数组中的零元素都复写一遍,然后将其余的元素向后平…

python知识:什么是字符编码?

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 我们的MySQL使用latin1的默认字符集, 也就是说,对汉字字段直接使用GBK内码的编码进行存储, 当需要对一些有汉字的字段进行拼音排序时(特别涉及到类似于名字这样的字段时…

图数据库_Neo4j学习cypher语言_使用CQL_构建明星关系图谱_导入明星数据_导入明星关系数据_创建明星关系---Neo4j图数据库工作笔记0009

首先找到明星数据 可以看到有一个sheet1,是,记录了所有的关系的数据 然后比如我们搜索一个撒贝宁,可以看到撒贝宁的数据 然后这个是构建的CQL语句 首先我们先去启动服务 neo4j console 然后我们再来看一下以前导入的,可以看到导入很简单, 就是上面有CQL 看一下节点的属性

Php“牵手”淘宝商品快递费用数据采集方法,淘宝API接口申请指南

淘宝天猫商品快递费用接口 API 是开放平台提供的一种 API 接口,它可以帮助开发者获取商品的详细信息,包括商品的标题、描述、图片,发货地址,快递费用,区域ID,等信息。在电商平台的开发中,快递费…

计算机视觉:比SAM快50倍的分割一切视觉模型FastSAM

目录 引言 1 FastSAM介绍 1.1 FastSAM诞生 1.2 模型算法 1.3 实验结果 2 FastSAM运行环境构建 2.1 conda环境构建 2.2 运行环境安装 2.3 模型下载 3 FastSAM运行 3.1 命令行运行 3.1.1 Everything mode 3.1.2 Text prompt 3.1.3 Box prompt (xywh) 3.1.4 Points p…

springMVC Unix 文件参数变更漏洞修复

错误信息如下: 解决方案: 原因:未对用户输入正确执行危险字符清理 未检查用户输入中是否包含“…”(两个点)字符串,比如 url 为 /login?action…/webapps/RTJEKSWTN26635&typerandomCode cookie为Coo…

opencv 进阶16-基于FAST特征和BRIEF描述符的ORB(图像匹配)

在计算机视觉领域,从图像中提取和匹配特征的能力对于对象识别、图像拼接和相机定位等任务至关重要。实现这一目标的一种流行方法是 ORB(Oriented FAST and Rotated Brief)特征检测器和描述符。ORB 由 Ethan Rublee 等人开发,结合了…

校企合作 | 大势智慧受邀参与北斗共同体建设

8月16日,长江工业职业学院(后简称“长江工院”)副校长刘文胜,质管处处长黄世涛,测绘信息工程系党总支书记刘飞、系副主任陈志兰、系教师陈文玲一行莅临武汉大势智慧科技有限公司(后简称“大势智慧”&#x…

【Git Bash】简明从零教学

目录 Git 的作用官网介绍简明概要 Git 下载链接Git 的初始配置配置用户初始化本地库 Git 状态查询Git 工作机制本地工作机制远端工作机制 Git 的本地管理操作add 将修改添加至暂存区commit 将暂存区提交至本地仓库日志查询版本穿梭 Git 分支查看分支创建与切换分支跨分支修改与…

iPhone开启“轻点唤醒”功能但点击屏幕无反应怎么解决?

iPhone的“轻点唤醒”功能启用时,用户只需手指轻触或点击手机屏幕即可快速唤醒设备,无需按压任何按钮。然而,有些用户在使用“轻点唤醒”功能唤醒屏幕时,遇到该功能失灵,无法正常唤醒屏幕的情况,这是怎么回…

Linux系统安全——NAT(SNAT、DNAT)

目录 NAT SNAT SNAT实际操作 DNAT DNAT实际操作 NAT NAT: network address translation,支持PREROUTING,INPUT,OUTPUT,POSTROUTING四个链 请求报文:修改源/目标IP, 响应报文:修改源/目标…

Yalmip入门教程(5)-约束条件操作的相关函数

博客中所有内容均来源于自己学习过程中积累的经验以及对yalmip官方文档的翻译:https://yalmip.github.io/tutorials/ 这篇博客将详细介绍yalmip工具箱中约束条件操作相关函数的用法。 1.约束条件操作的相关函数 1.1 boundingbox函数 boundingbox函数用于求出一组约…

以软件定义存储实现存力与算力的协同,应对 AI 时代数据挑战

本文根据 XSKY 星辰天合高级副总裁张旭明在“算力与前沿技术创新发展论坛”上的演讲内容整理,略有删节。 算力与前沿技术创新发展论坛以“算力创新跃迁 赋能数字经济”为主题,8 月 17 日在汕头召开,该论坛由工业和信息化部、广东省人民政府主…

SpringBoot 2.7 集成 Netty 4 模拟服务端与客户端通讯入门教程

文章目录 1 摘要2 核心 Maven 依赖3 核心代码3.1 服务端事务处理器 (DemoNettyServerHandler)3.2 服务端连接类(InitNettyServer)3.3 客户端事务处理器(DemoNettyClientHandler)3.4 客户端连接类(DemoNettyClient) 4 测试4.1 测试流程4.2 测试结果4.3 测试结论 5 推荐参考资料6…

通过安全日志读取WFP防火墙放行日志

前言 之前的文档中,描写了如何对WFP防火墙进行操作以及如何在防火墙日志中读取被防火墙拦截网络通讯的日志。这边文档,着重描述如何读取操作系统中所有被放行的网络通信行为。 读取系统中放行的网络通信行为日志,在win10之后的操作系统上&am…

继承(C++)

继承 一、初识继承概念“登场”语法格式 继承方式九种继承方式组合小结(对九种组合解释) 二、继承的特性赋值转换 一一 切片 / 切割作用域 一一 隐藏 / 重定义 三、派生类的默认成员函数派生类的默认成员函数1. 构造函数2. 拷贝构造3. 赋值运算符重载4. …

【编织时空三:探究顺序表与链表的数据之旅】

本章重点 链表OJ题 1. 删除链表中等于给定值 val 的所有结点。 OJ链接 思路一:删除头结点时另做考虑(由于头结点没有前一个结点) struct ListNode* removeElements(struct ListNode* head, int val) {assert(head);struct ListNode* cur h…