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.mzph.cn/news/40701.shtml

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

相关文章

Viobot开机指南

0.前言 本篇旨在让每个拿到Viobot设备的用户都能够第一时间测试它的效果,以及将设备配置到自己的环境下面。 1.上电 首先,我们先要把设备接上电源线和网线,最简单的方式就是网线直连电脑。 电源选用12V1.5A设备自带的电源即可。 2.配置网…

深入学习前端开发,掌握HTML、CSS、JavaScript等技术

课程链接: 链接: https://pan.baidu.com/s/1WECwJ4T8UQfs2FyjUMbxig?pwdi654 提取码: i654 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 第1周:HTML5基础语法与标签 &#x1f…

web集群学习:搭建 LNMP应用环境

目录 LNMP的介绍: LNMP组合工作流程: FastCGI介绍: 1、什么是 CGI 2、什么是 FastCGI 配置LNMP 1、部署LNMP环境 2、配置LNMP环境 LNMP的介绍: 随着 Nginx Web 服务的逐渐流行,又岀现了新的 Web 服务环境组合—…

【Spring Cloud 八】Spring Cloud Gateway网关

gateway网关 系列博客背景一、什么是Spring Cloud Gateway二、为什么要使用Spring Cloud Gateway三、 Spring Cloud Gateway 三大核心概念4.1 Route(路由)4.2 Predicate(断言)4.3 Filter(过滤) 五、Spring …

如何使用Kali Linux进行密码破解?

今天我们探讨Kali Linux的应用,重点是如何使用它来进行密码破解。密码破解是渗透测试中常见的任务,Kali Linux为我们提供了强大的工具来帮助完成这项任务。 1. 密码破解简介 密码破解是一种渗透测试活动,旨在通过不同的方法和工具来破解密码…

力扣初级算法(数组拆分)

力扣初级算法(数组拆分) 每日一算法: 力扣初级算法(数组拆分) 学习内容: 1.问题描述 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) …

机器人CPP编程基础-03变量类型Variables Types

机器人CPP编程基础-02变量Variables 全文AI生成。 C #include<iostream>using namespace std;main() {int a10,b35; // 4 bytescout<<"Value of a : "<<a<<" Address of a : "<<&a <<endl;cout<<"Val…

Vue+ElementUI实现选择指定行导出Excel

这里记录一下&#xff0c;今天写项目时 的一个需求&#xff0c;就是通过复选框选中指定行然后导出表格中选中行的Excel表格 然后这里介绍一个工具箱(模板)&#xff1a;vue-element-admin 将它拉取后&#xff0c;运行就可以看到如下界面&#xff1a; 这里面的很多功能都已经实现…

【NAS群晖drive异地访问】使用cpolar远程访问内网Synology Drive「内网穿透」

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 前言 群晖作为专业的数据存储中心&…

jupyter切换conda虚拟环境

环境安装 conda install nb_conda 进入你想使用的虚拟环境&#xff1a; conda activate your_env_name 在你想使用的conda虚拟环境中&#xff1a; conda install -y jupyter 在虚拟环境中安装jupyter&#xff1a; conda install -y jupyter 重启jupyter 此时我们已经把该安装…

也许你正处于《孤注一掷》中的“团队”,要留心了

看完这部电影&#xff0c;心情久久不能平静&#xff0c;想了很多&#xff0c;倒不是担心自己哪天也成为“消失的yaozi”&#xff0c;而是在想&#xff0c;我们每天所赖以生存的工作&#xff0c;跟电影里他们的工作比&#xff0c;差别在哪里呢&#xff1f; 目录 1. 产品的本质…

【QT+ffmpeg】QT+ffmpeg 环境搭建

1.qt下载地址 download.qt.io/archive/ 2. win10sdk 下载 https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ 安装 debug工具路径 qtcreater会自动识别 调试器选择

74、75、76——tomcat项目实战

tomcat项目实战 tomcat 依赖 java运行环境,必须要有jre , 选择 jdk1.8 JvmPertest 千万不能用 kyj易捷支付 项目机器 选择 一台机器 ,安装jdk1.8的机器下载tomcat的包 上传到机器,解压tomcattomcat文件 bin文件夹: 启动文件 堆栈配置文件 catalina.sh JAVA_OPTS="-Xm…

gitlab合并新项目和分支切换

一、新建项目 1、创建空白项目 2、先创建一个群组 3、编写群组信息 4、创建群组完成以后新建项目 ​​​​​​​ 二、将代码推送到gitlab 1、初始化 git init 2、关联gitlab地址 # 比如:http://192.168.139.128:7070/cloud/obwt_cloud.git git remote add origin <你…

FreeRTOS qemu mps2-an385 bsp 移植制作 :串口打印篇

相关文章 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;环境搭建篇 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;系统启动篇 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;系统运行篇 开发环境 Win10 64位 VS Code&#xff0c;ssh 远程连接 ubuntu …

如何使用Python编写小游戏?

大家好&#xff0c;我是沐尘而生&#xff0c;如果你是一个热爱编程的小伙伴&#xff0c;又想尝试游戏开发&#xff0c;那么这篇文章一定能满足你的好奇心。不废话&#xff0c;让我们马上进入Python游戏开发的精彩世界吧&#xff01; Python游戏开发的魅力 编写小游戏不仅仅是锻…

BUUCTF [安洵杯 2019]easy_serialize_php 1 详细讲解

题目来自buuctf&#xff0c;这是一题关于php序列化逃逸的题 1. 题目 题目给出的代码 <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); }if($_S…

时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 MATLAB实现基于…

Dubbo基础学习

目录 第一章、概念介绍1.1&#xff09;什么是RPC框架1.2&#xff09;什么是分布式系统1.3&#xff09;Dubbo概述1.3&#xff09;Dubbo基本架构 第二章、服务提供者(直连)2.1&#xff09;目录结构和依赖2.2&#xff09;model层2.3&#xff09;service层2.4&#xff09;resources…

【eNSP】交换机(vlan和vlan间通信)

【eNSP】交换机&#xff08;vlan和vlan间通信&#xff09; 原理术语过程 实验根据图片连接模块配置设备名称和IP地址配置交换机交换机链路指定sw1配置sw2配置 设置网关交换机互联实验设置查看设置结果 ospf配置 原理 HUB集线器&#xff1a;它的作用可以简单的理解为将一些机器…