QT中的按钮控件Buttons介绍

news2024/12/27 13:38:42

目录

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.coloradmin.cn/o/891983.html

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

相关文章

公告:微信小程序备案期限官方要求

备案期限要求 1、若微信小程序未上架,自2023年9月1日起,微信小程序须完成备案后才可上架,备案时间1-20日不等; 2、若微信小程序已上架,请于2024年3月31日前完成备案,逾期未完成备案,平台将按照…

docker启用cgroup v2

要求 本人的操作系统是kali,基于debian docker info如果你这里是2那么说明启用了,如果是1,那么就未启用 对于Docker来说,Cgroups v2的使用需要满足以下条件: Linux内核版本在4.15以上。 uname -r 系统已经启用Cgro…

vue-组件库-storybook:理解storybook、实践

一、理解 storybook Storybook是一个开源的工具,可以帮助前端开发者更好地构建、测试和展示组件。 具体来说,Storybook可以做以下几件事情: 1、为每个组件提供一个独立的页面,可以快速展示或调试组件。 2、管理多个组件&#x…

微服务-Ribbon(负载均衡)

负载均衡的面对多个相同的服务的时候,我们选择一定的策略去选择一个服务进行 负载均衡流程 Ribbon结构组成 负载均衡策略 RoundRobinRule:简单的轮询服务列表来选择服务器AvailabilityFilteringRule 对两种情况服务器进行忽略: 1.在默认情…

linux部署clickhouse(单机)

一、下载安装 1.1、下载地址 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区阿里巴巴开源镜像站,免费提供Linux镜像下载服务,拥有Ubuntu、CentOS、Deepin、MongoDB、Apache、Maven、Composer等多种开源软件镜像源,此外还提供域名解析DNS、…

使用 Visual Studio Code Docker 工具调试 .NET 容器

作者:Chet Husk 排版:Alan Wang Visual Studio Code Docker 工具已发布1.26.0版本,这个版本为使用 .NET SDK 构建和调试容器映像提供了内置支持。 VS Code 中的 Docker 调试 Visual Studio Code Docker 工具使开发人员可以轻松入门容器。它…

微服务—Eureka注册中心

eureka相当于是一个公司的管理人事HR,各部门之间如果有合作时,由HR进行人员的分配以及调度,具体选哪个人,全凭HR的心情,如果你这个部门存在没有意义,直接把你这个部门撤销,全体人员裁掉,所以不想…

跟着美团学设计模式(感处)

读了着篇文章之后发现真的是,你的思想,你的思维是真的比比你拥有什么技术要强的。 注 开闭原则 开闭原则(Open-Closed Principle)是面向对象设计中的基本原则之一,它的定义是:一个软件实体应该对扩展开放…

Redis——list类型详解

概要 Redis中的list类型相当于双端队列,支持头插,头删,尾插,尾删,并且列表中的内容是可以重复的。 如果搭配使用rpush和lpop,那么就相当于队列 如果搭配使用rpush和rpop,那么就相当于栈 lpu…

皮爷咖啡基于亚马逊云科技的数据架构,加速数据治理进程

皮爷咖啡(Peet’s Coffee)是美国精品咖啡品牌,于2017年进入中国,为中国消费者带来传统经典咖啡饮品,并特别呈现更加丰富的品质咖啡饮品体验。通过深入应用亚马逊云科技云原生数据库产品Amazon Redshift以及Amazon DMS等…

开源的密码学工具库:openssl安装在docker容器环境Linux(ubuntu18.04)

OpenSSL(Open Secure Socket Layer)是一个开源的密码学工具库,它提供了一系列的加密、解密、认证和通信安全相关的功能。OpenSSL 最初是为了支持安全的网络通信而设计的,但后来它的功能逐渐扩展到了许多不同的领域,包括…

【SSL证书】阿里云免费 SSL证书申请 + nginx 部署全解

一、环境 二、步骤 三、实战 Stage 1:申请免费证书 1. 进入 - 数字证书管理服务(SSL证书) 2. 创建证书 3. 申请证书 Stage 2:域名解析 1. 进入 - 域名管理 2. 点击 - 域名 3. 点击 - 域名解析 4. 点击 - 添加记录 5. 返回 - 数…

润和软件HopeStage操作系统正式上架阿里云、华为云、腾讯云商店

近日,润和软件HopeStage操作系统正式上架阿里云、华为云、腾讯云商店。 随着科技的发展,云服务成为现代社会信息和资讯的交换、共享、存储、检索、应用等重要方式。阿里云、华为云、腾讯云作为我国云服务市场三巨头,其云商店产品全面覆盖云、…

spring(15) SpringBoot启动过程

目录 一、过程简介二、过程流程图三、源码分析1、运行 SpringApplication.run() 方法2、确定应用程序类型3、加载所有的初始化器4、加载所有的监听器5、设置程序运行的主类6、开启计时器7、将 java.awt.headless 设置为 true8、获取并启用监听器9、设置应用程序参数10、准备环境…

【Golang系统开发】搜索引擎(2) 压缩词典

写在前面 这篇文章我们就给出一系列的数据结构,使得词典能达到越来越高的压缩比。当然,和倒排索引记录表的大小相比,词典只占据了非常小的空间。那么为什么要对词典进行压缩呢? 这是因为决定信息检索系统的查询响应时间的一个重…

《计算机网络:自顶向下方法》第五章--网络层:控制平面

控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理 传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体…

IDEA 如何制作代码补丁?IDEA 生成 patch 和使用 patch

什么是升级补丁? 比如你本地修复的 bug,需要把增量文件发给客户,很多场景下大家都需要手工整理修改的文件,并整理好目录,这个很麻烦。那有没有简单的技巧呢?看看 IDEA 生成 patch 和使用 patch 的使用。 介…

Kafka—工作流程、如何保证消息可靠性

什么是kafka? 分布式事件流平台。希望不仅仅是存储数据,还能够数据存储、数据分析、数据集成等功能。消息队列(把数据从一方发给另一方),消息生产好了但是消费方不一定准备好了(读写不一致)&am…

常量(constant)

1、概述 常量:是指在Java程序运行期间固定不变的数据。 2、分类 类型含义数据举例整数常量所有的整数0,1,567,-9 小数常量 (浮点数常量) 所有的小数0.0,-0.1,2.55字符常量单引号引起…

Python量化交易11——使用AKShare获取公司财务数据

AKshare库是一个很好用的金融数据获取的API,股票的数据很全面,还有很多别的数据: 链接:AKShare 股票数据 — AKShare 1.10.85 文档 他们获取来源都是东方财富网或者巨潮网等,都会写上的。 本次教大家怎么用AKshare获取…