第四章 Qt 常用按钮组件

news/2024/11/28 11:56:00/

目录

一、常用的四种按钮

二、按钮接口详情

2.1 按钮的属性

2.2 按钮的信号

 2.3 以LineEdit为例子设置字体,颜色,布局格式的变化


一、常用的四种按钮

普通按钮(QPushButton)

工具按钮(QToolButton)

单选按钮(QRadioButton)

复选框(QCheckBox)

共同属于QAbstractButton类

二、按钮接口详情

2.1 按钮的属性

                                 

QAbstractButton类的主要属性
属性属性值类型功能
textQString按钮显示的文字
iconQIcon按钮的图标
shortcutQKeySequence按钮的快捷键
checkablebool按钮是否可复选
checkedbool按钮是否复选状态
autoExclusivebool在一个布局或容器组件内的同类按钮是否是互斥的。
autoRepeatboolcliced()、pressed()、released()信号。初次重复的延迟时间由属性autoRepeatDelay决定,重复的周期由属性autoRepeatInterval决定,时间单位都是毫秒。
QPushButton的新增属性
autoDefaultbool按钮是否为自动默认按钮
defaultbool按钮是否为默认按钮
flatbool

flat = true 时,按钮没有边框,只有被电击或复选时才显示按钮边框。

        QCheckBox增加的tristate属性,表示是否有三种复选状态,即Checked、Unchecked和PartiallyChecked。可以用QAbstractButton定义的函数isChecked()和setChecked()读取和设置复选状态,也可以用QCheckBox中定义的checkState()和setCheckState()读取和设置复选状态。

2.2 按钮的信号

QAbstractButton类定义了如下信号:

void clicked(bool checked = false)        //点击按钮时

void pressed()                                       //按下Space键或鼠标左键时

void released()                                      //释放Space键或鼠标左键时  

void toggled(bool checked)                   //按钮的checked属性值变化时     

 QCheck定义的新信号

void QCheckBox::stateChanged(int state)

//当复选框的复选按钮状态变化时,组件发射此信号。如果复选框的tristate属性设置为false,也就是只有两种状态时,stateChanged()信号和toggled()信号作用一样。

 2.3 以LineEdit为例子设置字体,颜色,布局格式的变化

例子来自《Qt6 C++开发指南》 samp4_05。

可观看下面链接加深理解。

4.5常用的按钮组件_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1km4y1k7CW?p=29&vd_source=9f6a57780f9760d9cdd025dbc388f3ba

void Widget::on_pushButton_clicked()
{//居左ui->lineEdit->setAlignment(Qt::AlignLeft);
}void Widget::on_pushButton_2_clicked()
{//居中ui->lineEdit->setAlignment(Qt::AlignCenter);
}void Widget::on_pushButton_3_clicked()
{//居右ui->lineEdit->setAlignment(Qt::AlignRight);
}void Widget::on_pushButton_4_clicked(bool checked)
{//粗体QFont font = ui->lineEdit->font();font.setBold(checked);ui->lineEdit->setFont(font);
}void Widget::on_pushButton_5_clicked(bool checked)
{//斜体QFont font = ui->lineEdit->font();font.setItalic(checked);ui->lineEdit->setFont(font);
}void Widget::on_pushButton_6_clicked(bool checked)
{//下划线QFont font = ui->lineEdit->font();font.setUnderline(checked);ui->lineEdit->setFont(font);
}void Widget::on_checkBox_clicked(bool checked)
{//只读ui->lineEdit->setReadOnly(checked);
}void Widget::on_checkBox_2_clicked(bool checked)
{//是否能编辑ui->lineEdit->setEnabled(checked);
}void Widget::on_checkBox_3_clicked(bool checked)
{//清空内容ui->lineEdit->setClearButtonEnabled(checked);
}void Widget::on_radioButton_clicked()
{//黑色QPalette plet = ui->lineEdit->palette();plet.setColor(QPalette::Text,Qt::black);ui->lineEdit->setPalette(plet);
}void Widget::on_radioButton_2_clicked()
{//红色QPalette plet = ui->lineEdit->palette();plet.setColor(QPalette::Text,Qt::red);ui->lineEdit->setPalette(plet);
}void Widget::on_radioButton_3_clicked()
{//蓝色QPalette plet = ui->lineEdit->palette();plet.setColor(QPalette::Text,Qt::blue);ui->lineEdit->setPalette(plet);
}


http://www.ppmy.cn/news/1324154.html

相关文章

支付功能的实现

1.商户调用第三方支付服务的主要步骤流程? 1.1 表单跳转 前端点击提交支付,请求后端支付接口 支付接口通过阿里api生成表单信息返回给前端页面 同步回调,异步回调参数 请求参数:总金额,外部订单号 公共参数&#xff1…

【工作周志】240108-240114

Q:set_property bitstream.config.timer_cfg 这样的配置用于哪里? A:https://www.cnblogs.com/lazypigwhy/p/10450406.html FPGA通过CPU远程升级方案_bitstream.config.timer_cfg-CSDN博客 Q:逛论坛有人问,reg也可以…

SpringBoot项目里用MultipartFile作为入参获取到的file为什么null

前言: 最近在项目中用到了Excel模板导入功能,但是在测试阶段用Postman测试时,通过Post请求,传到后端的File一直为null。其中前端传参和请求都没问题,后端的接参也没问题,问题出在过滤器的复用上。 问题场…

Linux操作系统基础

目录 计算机存储结构 冯.诺依曼结构 操作系统 在前几期我们学写了linux中常见的一些指令,本期我们将正式进行linux操作系统的学习。 计算机存储结构 要学习linux操作系统,我们就得先进行计算机存储结构的学习,要进行计算机存储结构的学…

ARM 1.15

滤波器 滤波器是对波进行过滤的器件,是一种让某一频带内信号通过,同时又阻止这一频带外信号通过的电路。 滤波器主要有低通滤波器、高通滤波器和带通滤波器三种,按照电路工作原理又可分为无源和有源滤波器两大类。 低通滤波器 电感阻止高频…

云边协同的 RTC 如何助力即构全球实时互动业务实践

作者:即构科技 由 51 CTO 主办的“WOT 全球技术创新大会 2023深圳站”于 11 月 24 日 - 25 日召开,即构科技后台技术总监肖潇以“边缘容器在全球音视频场景的探索与实践”为主题进行分享。 边缘计算作为中心云计算的补充,通过边缘容器架构和…

群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

RabbitMQ入门精讲

1. 什么是消息队列 消息指的是两个应用间传递的数据。数据的类型有很多种形式,可能只包含文本字符串,也可能包含嵌入对象。 “消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中,通常有生产者和消费者两个角色。…