QT Buttons

QT中的按钮控件Buttons介绍 QPushButton:下压按钮,继承 QAbstractButton 类,被 QCommandLinkButton 继承。常用于执行命令或触发事件 QToolButton:工具按钮,继承 QAbstractButton 类,是一种用于命令或者选项的可快速访问的按钮 QRadioButton:选择按钮,继承 QAbstractButton 类,通常成组出现,用于提供两个或多个互斥选项 QCheckBox:检查框,继承 QAbstractButton 类,与 RadioButton 的区别是选择模式,单选按钮 阅读详情

QAbstractButton

QAbstractButton类是按钮部件的抽象基类,提供了按钮所共有的功能。

QAbstractButton类实现了一个抽象按钮,可以通过继承它来实现不同的button对象。

按钮其实就是显示一个包含文本和图标的标签,以及click时的处理。

因为一般不直接使用此类,所以此处只是一个函数功能的参考
//状态
but->isDown();//按钮是否被按下
but->isChecked();//按钮是否被check
but->setAutoRepeat();//按钮是否自动重复(一直按着时自动重复)
but->setToggleButton();//是否是一个checkButton
but->setAutoExclusive();//设置互斥,在同一父窗口下只能有一个被选中

but->setIcon();//设置图标
but->setText();//设置文本

but->setAutoRepeatDelay(ms);//按下多久才开始自动重复
but->setAutoRepeatInterval(ms);//重复的时间间隔

but->setCheckable();//设置能否check(选中/未选中)

信号槽

/*当按钮被激活(鼠标按下然后释放)、键入快捷键或调用click()或animateClick()时,会发出此信号
如果调用 setDown()、setChecked() 或 toggle(),则不会发出此信号
参数为button的checked属性*/
void clicked(bool checked = false)
//按下按钮时会发出此信号
void pressed()
//松开按钮时发出此信号
void released()
/*每当可切换状态按钮更改其状态时(checked改变时),就会发出此信号。
只要checked状态被改变,就会触发*/
void toggled(bool checked)

继承

通过继承抽象按钮,并重写以下函数来实现自定义(paintEvent是必须重写的)
//调用setChecked实质上就是调用此函数
void checkSateSet()
//每次鼠标点击时就会传入自己的pos,再通过此函数判断是否命中按钮
bool hitButton(const QPoint& pos)
//每次切换状态(toggle)时的行为,就是每次点击就会触发此函数
void nextCheckState()

QPushButton

基本常用方法与QAbstractButton一致,不过多演示,只列出多出的函数
but->setFlat();//是否显示按钮边框
but->setEnabled();//设置按钮是否可用
but->setAutoDefault();//若此属性为true,则在父窗口中按下回车时自动触发此按钮

//将button设置为下拉菜单式
QMenu *pMenu = new QMenu(this);
pMenu->addAction(QString::fromLocal8Bit("设置"));
pMenu->addAction(QString::fromLocal8Bit("版本检测"));
pMenu->addSeparator();
...

QPushButton *pButton = new QPushButton(this);
pButton->setText("主菜单");

pButton->setMenu(pMenu);

QToolButton

button共有方法也不赘述了,这个button就相当于一个下拉菜单,每个选项都是一个action
but->setMenu();//具体参考QPushButton
//但ToolButton不同之处在于,PushButton点击后会自动弹出下拉菜单,而tBtn必须要设置popup才能弹出
but->setPopupMode();//设置popup模式
but->setToolButtonStyle();//设置按钮图片和文字的显示格式
but->setArrowType();//设置按钮的箭头样式
but->setDefaultAction();//设置一个action为button的默认选项
but->setAutoRaise(true);//按钮透明背景,仅显示图标和文字,简约优雅

信号槽

//当tBtn中的action触发时触发此信号,参数是被触发的action,以区分被触发的对象
void triggered(QAction *action)
//此信号时tBtn本身被点击时才触发
void clicked()

QCheckBox

button共有方法也不赘述了,此but主要是复选框(多选多)
but->setCheckState();//返回/设置当前check状态,与isChecked类似,但是这个函数可返回三元状态
but->setTriState();//设置but为三元(即有三个状态可选)
state == Qt::PartiallyChecked//中间状态(其实就是一个int类型的typedef罢了)

信号槽

//当复选框状态发生改变,这个信号就会被发射
void stateChanged(int state)
//除了UI上点击,还有这些函数会触发此信号
pCheckBox->animateClick();
pCheckBox->click();
pCheckBox->toggle();
pCheckBox->setChecked(true);
pCheckBox->setCheckState(Qt::PartiallyChecked);

QRadioButton

button共有方法也不赘述了,此but主要是单选框(多选一),其本身没有互斥,要通过group或exclusive才能实现互斥
基本没有新操作,仅列出常用操作
but->setChecked();//获取/设置checked属性

信号槽也没有新的,基本就是clicked、pressed、released、toggled四个常用

QButtonGroup

//创建group并添加button进去,每个button都有其独自的编号,注意是从0开始编号
//仅在逻辑上管理,可以在UI中手动放在一个box中
QButtonGroup * group = new QButtonGroup(this);
group->addButton(ui.radioButton, 0);
group->addButton(ui.radioButton_2, 1);
group->addButton(ui.radioButton_3, 2);
group->addButton(ui.radioButton_4, 3);
group->removeButton(but5);//移除button

//设置为互斥模式,其实按钮和group本身都不互斥,只不过通过设置exclusive属性来让它们互斥
group->setExclusive(true);

group->button(1);//通过编号访问指定button
group->id(but);//通过button返回其对应的编号
group->setId(but,n);//设置指定button的编号
group->checkedButton();//当前被选中的按钮本身
group->checkedId();//当前组中被选中按钮的编号

信号槽

//每当组中任意一个按钮被按下,就会触发以下事件,参数要么是传递button对象,要么是传递id
//所以也方便了不用每个按钮都设置一遍信号槽
void	buttonClicked(QAbstractButton *button)
void	buttonPressed(QAbstractButton *button)
void	buttonReleased(QAbstractButton *button)
void	buttonToggled(QAbstractButton *button, bool checked)
void	idClicked(int id)
void	idPressed(int id)
void	idReleased(int id)
void	idToggled(int id, bool checked)
如何制作Mike21溢油模型围油栏文件 这段时间群友在做海洋环评的做了一个MIKE21的溢油模型,溢油模型其实也是ECOLAB模块的应用,而在海上发生溢油事件的时候,为防止溢油对海洋生态的破坏,经常使用的一种手段就是使用围油栏技术将溢油控制在一定范围并进行处理。今天小编就给大家说说在MIKE21里怎么实现围油栏文件的制作 阅读详情

相关推荐

基于vivado实现FFT/IFFT

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、实现的功能二、配置1.调用DDS的IP核2.调用FFT的IP核三、结果分析1.调用DDS的IP核2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、实现的功能 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任

qq_45600102的博客 1万+

Qt6教程之二(3) Buttons

这篇文章主要介绍Qt按钮的用法!

让每一个想学习编程的人,都能学会,都能看懂,看了都有收获! 5840

海康威视iVMS-4200在银河麒麟系统部署全攻略与疑难排解

在信创国产化进程中,软件兼容性是关键挑战之一。以安防监控领域广泛使用的海康威视iVMS-4200客户端为例,其从Windows环境迁移到银河麒麟等国产操作系统时,面临架构适配、依赖库匹配等核心兼容性问题。这涉及到跨平台软件部署的通用原理:不同CPU架构(如ARM的飞腾、x86的兆芯)和操作系统底层API的差异,要求软件必须进行针对性编译和优化。解决这类问题的技术价值在于保障专业软件在国产化环境中的稳定运行,是信创产业落地的重要环节。具体到应用场景,如在基于银河麒麟V10的安防监控项目中,通过获取对应架构的.

weixin_33423874的博客 1451

Qt教程 — 3.1 深入了解Qt 控件:Buttons按钮

在Qt框架中,Buttons控件是用户界面编程中经常使用的一类控件,用于接收用户的点击事件,触发相应的操作。Qt提供了多种按钮控件,以满足不同的使用场景需求。是最常用的按钮控件,可用于触发一个命令或者操作。它可以显示文本、图标或者两者结合。还可以设置为可选中(像切换按钮那样)。代表单选按钮,通常用于一组选项中选择一个选项的场景。单选按钮之间是互斥的,即在同一组内,选中一个单选按钮将会自动取消选中其他单选按钮。QCheckBox是复选框控件,用于表示选项的开/关状态。与。

几度春风里的博客 6541

避开这些坑!RK3588安卓系统内置输入法的正确姿势(含.mk文件修改指南)

本文详细解析了在RK3588安卓系统定制中预置第三方输入法的完整流程与关键避坑指南。重点涵盖APK签名、Android.mk文件编写、系统默认输入法配置(使用adb ime list命令获取服务名)以及SeLinux策略适配等核心步骤,并指出RK3566/RK3568等兄弟平台的通用性与差异点,帮助开发者实现稳定、深度的系统集成。

tgb34567890的博客 437

Titans:谷歌新型神经记忆架构,突破 Transformer 长序列处理的瓶颈

Titans 是谷歌推出的新型神经网络架构,通过神经长期记忆模块突破 Transformer 在处理长序列数据时的瓶颈,支持并行计算,显著提升训练效率。

士多啤梨先生の博客 992

Qt:19---Buttons控件的使用

一、Push Button 名词:按钮 常用函数 //得到/设置按钮在程序界面中显示的位置和大小 const QRect &geometry() const void setGeometry(int x, int y, int w, int h) void setGeometry(const QRect &) //获得/设置按钮显示的字体/样式 const ...

董哥的黑板报 1335

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析

前言:ERA5主要提供DAILY和MONTHLY两大类别数据,其中主要包括气温、降水、压力、风速等。

等待着冬天的风的博客 3万+

[QT_027]Qt学习之按钮类控件(QPushButton、QToolButton、QRadioButton、QCheckBox、QCommandLinkButton)

Qt学习之按钮类控件(QPushButton、QToolButton、QRadioButton、QCheckBox、QCommandLinkButton)

kongcheng253的博客 6381

JLink版本不兼容?手把手教你解决APM32F003F6P6在Keil中烧写闪退和报错

本文详细解析了APM32F003F6P6在Keil中烧写闪退和报错的解决方案,重点介绍了JLink版本兼容性问题。通过实测不同版本组合,推荐使用JLink 7.20a或6.86b与Keil 5.25的黄金组合,并提供详细的降级驱动和工程配置步骤,帮助开发者高效解决烧写困境。

weixin_33694620的博客 416

香橙派5b 移植 imx415

修改设备树,以为例,关闭ov13855,添加imx4151;0;1;0;1;0;1;0;1;0;1;0;1;0;以此类推,修改三个dtsi。

ChenYX的博客 4539

Qt button() 与 buttons() 区别

假设你的鼠标左键已经按下。 如果移动鼠标,会发生的move事件,button返回Qt::NoButton,buttons返回LeftButton。 再按下了右键,会发生press事件,button返回RightButton,buttons返回LeftButton|RightButton 再移动鼠标,会发生move事件,button返回Qt::NoButton,buttons返回LeftButton

liumlau的博客 4260

数据分析案例-车辆二氧化碳排放量数据可视化分析

本实验数据集来源于Kaggle,该数据集捕获了车辆二氧化碳排放量随不同特征变化的详细信息。数据集取自加拿大政府官方开放数据网站。其中包含 7 年期间的数据。总共有 7385 行和 12 列。各列变量含义解释如下:Make:车辆的品牌或制造商。Model:车辆的具体车型名称。Vehicle Class:车辆的分类,如紧凑型、SUV等。Engine Size(L):车辆发动机的尺寸,以升为单位。Cylinders:车辆发动机的气缸数。

m0_64336780的博客 1万+

【C++QT】Buttons 按钮控件详解

在 Qt 的 `QtWidgets` 模块中,**Buttons 组控件**是用户交互的核心组件,涵盖触发操作、状态选择、对话框按钮布局等功能。本文包含 **QPushButton、QToolButton、QCheckBox、QRadioButton、QCommandLinkButton、QDialogButtonBox** 的详细用法、技巧及实战示例。

AAADiao的博客 2104

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Qt中button与buttons的区别

返回产生事件的按钮状态,函数返回当前按下的所有按钮,按钮状态可以是Qt::LeftButton,Qt::RightButton,Qt::MidButton或运算组合。如果鼠标左键处于按下状态,则结果为真,如果不考虑左右键都处于按下状态,则 与event->buttons() == Qt::LeftButton在结果上是相同的。此时如果移动鼠标,会产生鼠标的move事件,button()返回Qt::NoButton,buttons()返回LeftButton。鼠标左键已经处在按下的状态,

kason_xks 345

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Qt鼠标事件中的button()和buttons()

Qt鼠标事件中的button()和buttons() QEvent类是所有事件类的基类,Qt的主事件回路从事件队列获取本地窗口系统事件,将其转换为QEvent,然后再传递给QObjects。创建鼠标事件,MyLabel继承自QLabel,声明如下: #ifndef MYLABEL_H #define MYLABEL_H #include <QWidget> #include <QLabel> class MyLabel : public QLabel { Q_OBJECT

Goallegoal的博客 2201

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【Qt】Radio buttons分组互斥,添加分组

【代码】【Qt】Radio buttons分组互斥,添加分组。

-凌凌漆-的博客 600

Qt button和buttons区别

假设我的鼠标左键已经按下。若移动鼠标,会发生的move事件,button返回Qt::NoButton,buttons返回LeftButton。再按下右键,会发生press事件,button返回RightButton,buttons返回LeftButton|RightButton再移动鼠标,会发生move事件,button返回Qt::NoButton,buttons返回LeftButton|Righ...

weixin_30345577的博客 325

qt 命令按钮组 Buttons

在编程中,可以使用isChecked()函数来检查Check Box当前是否处于选中状态,并使用setCheckState()函数来设置它的状态。Qt中的Dialog Button Box是一种对话框控件,它用于显示一组标准的按钮,例如OK、Cancel、Apply等。Dialog Button Box还提供了一些信号,例如accepted()和rejected(),可以在对话框关闭时发出,以响应用户按下不同的按钮。4. toggle():设置单选按钮的选中状态,如果原来是选中状态则取消选中,否则选中。

zhenge4636的博客 1692

qt之buttons

qt creator buttons

xlime的博客 295

QT5 Buttons

一、PushButton控件 1)控件位置:Button-&gt;PushButton 2)控件介绍:该控件继承自QButton类,通常用于执行命令或触发事件。 3)控件属性设置选项:  (1)name:该控件对应源代码中的名字。  (2)text:该控件对应图形界面中显示的名字。  (3)font:设置text的字体。  (4)enabled:该控件是否可用。 4)常用成员函数:  (1)QPu...

我的随笔 467

QT入门Buttons之QToolButton

qt入门

Littlehero_121的博客 7271

Qt鼠标事件中的button()和buttons()的含义

QEvent类是所有事件类的基类,创建鼠标事件,MyLabel继承自QLabel,声明如下: 具体实现如下: 这里重点关注鼠标点击、释放、移动三个时间的具体实现,if条件判断的是事件是否由鼠标左键触发,但若三个条件全部写成ev->button() == Qt::LeftButton,在运行的时候会发现,只有鼠标的点击和释放方法真正的打印了其中的内容,移动事件不做出反应。解决的方法是将原本的条件改为ev->buttons() == Qt::LeftButton这样,在点...

m0_60663280的博客 1522

【QT】QSS美化——Buttons篇

Buttons篇QSS美化 QPushButton、QToolButton、QCheckBox、QRadioButton

Jason的技术探索与分享 1万+

【快速上手QT】08-Buttons组件

我们差不多把QT的基础部分讲差不多了。接下来我们把一些组件介绍一下,最后再开始QT的进阶部分,需要先把基础打牢嘛,也当是练习练习怎么使用QT助手了。就按照QtDesigner里的顺序,今天我们讲一讲Buttons,也就是按钮组件。因为这个系列的第二篇,学习使用QT助手的那一篇里我是以QPushButton为例的,并且QPushButton也是最常用的,相信大家也都懂的怎么用了,因此我们跳过第一个组件,直接开始第二个组件QToolButton。

m0_63235356的博客 964

QT入门Buttons之QPushButton

QT入门控件学习

Littlehero_121的博客 5630
上一篇: Qt QLabel
下一篇: QT QLineEdit
Kiryee
博客等级 码龄7年 1粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值