C++Qt学习——QPushButton、QRadioButton(单选按钮)、QCheckBox(复选按钮)

目录

1、QPushButton

1.1、创建一个新的项目,转到UI界面拖一个Push Button

1.2、Push Button的常用信号主要有四个,分别为 clicked(), pressed(), released(), toggled()

1.2.1、按住Push Button右键转到槽,选择信号函数

1.2.2、在Widget.h里面会自动生成声明

1.2.3、在Widget.cpp里面自动出现函数的定义,在里面自己写上函数的定义

1.3、设计一个音乐播放器

1.3.1、创建qss文件

2、QRadioButton(单选按钮)

2.1、创建一个新的项目,转到UI界面拖一个Radio Button

2.2、按住Radio Button,右键转到槽。

2.3、选择toggled(bool)信号

2.3.1、在Widget.h里面会自动生成声明

2.3.2、在Widget.cpp里面自动出现函数的定义,在里面自己写上函数的定义

2.4、修饰Radio Button

2.4.1、当没有选中RadioButton的时候,是这个图标

2.4.2、选中的时候是

2.4.3、修改RadioButton的字体大小和颜色

2.4.4、修改RadioButton的图标大小和颜色

2.4.5、修改PushButton

 2.5、多选RadioButton

3、QCheckBox(复选按钮)

3.1、创建一个新的项目,转到UI界面拖一个Check Box

3.2、勾选三个状态tristate

3.3、按住CheckBox,右键转到槽。,这次看一个新的信号

3.3.1、在Widget.h里面会自动生成声明

3.3.2、在Widget.cpp里面自动出现函数的定义,在里面自己写上函数的定义

3.4、修饰CheckBox

3.4.1、当没有选中RadioButton的时候,是这个图标

3.4.2、当半选的时候

3.4.3、当选中的时候

3.4.4、设置CheckBox的大小

4、代码分享


1、QPushButton

1.1、创建一个新的项目,转到UI界面拖一个Push Button

1.2、Push Button的常用信号主要有四个,分别为 clicked(), pressed(), released(), toggled()

1.2.1、按住Push Button右键转到槽,选择信号函数

1.2.2、在Widget.h里面会自动生成声明

1.2.3、在Widget.cpp里面自动出现函数的定义,在里面自己写上函数的定义

注意想打印语句的话必须引入头文件,而且如果使用toggled的话,必须将Push Button改成可选的

#include <QDebug>
ui->pushButton->setCheckable(true);

1.3、设计一个音乐播放器

我们只是这只红色标注的这块儿。一共有以下几个注意事项

A、当没开启音乐的时候是暂停的图片

B、当鼠标移动到开启音乐那块的时候,暂停的图标会亮(其实也就是两张图片,一个比两外一个亮度高一点儿)

C、当按下开启听歌的时候,状态变为放音乐的状态。同理当鼠标移动到开启音乐那块的时候,图标会亮(其实也就是两张图片,一个比两外一个亮度高一点儿)

1.3.1、创建qss文件

具体看https://blog.csdn.net/wjl990316fddwjl/article/details/136544557

A、先设置中间的按钮,整个项目一共准备八张图片

QPushButton#pushButton_2{border-image: url(:/icons/btn_play_1.png)}
QPushButton#pushButton_2:hover{border-image: url(:/icons/btn_play_2.png)}
QPushButton#pushButton_2:checked{border-image: url(:/icons/btn_pause_1.png)}
QPushButton#pushButton_2:checked:hover{border-image: url(:/icons/btn_pause_2.png)}

 解释:hover的意思就是当鼠标停留在按钮上的时候会转换成另一张图

当按下的时候,切换图片

B、左右两个按键

QPushButton#pushButton{border-image: url(:/icons/btn_pause_3.png)}
QPushButton#pushButton:hover{border-image: url(:/icons/btn_pause_3_2.png)}QPushButton#pushButton_3{border-image: url(:/icons/btn_pause_4.png)}
QPushButton#pushButton_3:hover{border-image: url(:/icons/btn_pause_4_2.png)}

2、QRadioButton(单选按钮)

2.1、创建一个新的项目,转到UI界面拖一个Radio Button

在UI界面都选成checkable的。

2.2、按住Radio Button,右键转到槽。

2.3、选择toggled(bool)信号

2.3.1、在Widget.h里面会自动生成声明

2.3.2、在Widget.cpp里面自动出现函数的定义,在里面自己写上函数的定义

注意想打印语句的话必须引入头文件。

#include <QDebug>

2.4、修饰Radio Button

2.4.1、当没有选中RadioButton的时候,是这个图标

QRadioButton::indicator:unchecked {border-image: url(:/icons/radioButton_unchecked.png)}

2.4.2、选中的时候是

QRadioButton::indicator:checked {border-image: url(:/icons/radioButton_checked.png)}

2.4.3、修改RadioButton的字体大小和颜色

QRadioButton {font-size: 30px; color: #99404040}

2.4.4、修改RadioButton的图标大小和颜色

QRadioButton::indicator {width: 30px;height: 30px; }QRadioButton {background-color: #aaDDDDDD}

2.4.5、修改PushButton

A、当没有按下按键时候的颜色以及字体大小和设置圆角

QPushButton {background-color: #404040;font-size: 30px; border-radius: 10px}

B、按下案件的时候背景发生变化,字体颜色也发生变化

QPushButton::checked {background-color: green;color: white}

 2.5、多选RadioButton

A、如果想多选几个的话,选中要选择的,右键指定到按钮组,新建按钮组

B、取消选择Exclusive

C、就可以实现选择多个啦

3、QCheckBox(复选按钮)

3.1、创建一个新的项目,转到UI界面拖一个Check Box

3.2、勾选三个状态tristate

3.3、按住CheckBox,右键转到槽。,这次看一个新的信号

3.3.1、在Widget.h里面会自动生成声明

3.3.2、在Widget.cpp里面自动出现函数的定义,在里面自己写上函数的定义

注意想打印语句的话必须引入头文件。

#include <QDebug>

3.4、修饰CheckBox

3.4.1、当没有选中RadioButton的时候,是这个图标

QCheckBox::indicator::unchecked {border-image: url(:/icons/unchecked.png)}

3.4.2、当半选的时候

QCheckBox::indicator::indeterminate {border-image: url(:/icons/indeterminate.png)}

3.4.3、当选中的时候

QCheckBox::indicator::checked {border-image: url(:/icons/checked.png)}

3.4.4、设置CheckBox的大小
 

QCheckBox::indicator {width:20px; height:20px}

4、代码分享

代码:

https://pan.baidu.com/s/16YMIOTOuEO6S8gaOO-40nQ

提取码

fann

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

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

相关文章

【C/C++ 学习笔记】函数进阶

【C/C 学习笔记】函数进阶 视频地址: Bilibili 函数默认值 如果某个位置有默认值&#xff0c;那么从此参数向右都需要有默认值如果函数声明有默认值&#xff0c;那么函数实现就不能设置默认值 function add(int a 10, int b 20) {return a b; }函数占位参数 直接使用数…

1.2 课程架构介绍:STM32H5 芯片生命周期管理与安全调试

1.2 课程架构介绍&#xff1a;STM32H5 芯片生命周期管理与安全调试 下面开始学习课程的第二节&#xff0c;简单介绍下STM32H5芯片的生命周期和安全调试&#xff0c;具体课程大家可以观看STM32官方录制的课程&#xff0c;链接&#xff1a;1.2. 课程架构介绍&#xff1a;STM32H5…

闪电网络协议设计思想剖析

1. 引言 闪电网络可能是比特币之上部署的最受期待的技术创新。闪电网络&#xff0c;为由 Joseph Poon 和 Tadge Dryja 于2015年首次提出的支付层&#xff0c;承诺支持&#xff1a; 用户之间几乎无限数量的链下交易&#xff0c;几乎免费&#xff0c;同时利用比特币提供的安全性…

IDEA编译安卓源码TVBox(2)

一、项目结构&#xff1a;主要app和player app结构 二、增加遥控器按键选台 修改LivePlayActivity.java 1、声明变量 public String channelId "";public Timer timer new Timer();public Toast mToast;2、定义方法 private void mToastShow(String s){mToast …

微信小程序-webview分享

项目背景 最近有个讨论区项目需要补充分享功能&#xff0c;希望可以支持在微信小程序进行分享&#xff0c;讨论区是基于react的h5项目&#xff0c;在小程序中是使用we-view进行承载的 可行性 目标是在打开web-view的页面进行分享&#xff0c;那就需要涉及h5和小程序的通讯问…

Unity类银河恶魔城学习记录10-10 p98 UI health bar源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili HealthBar_UI.cs using System.Collections; using System.Collections.G…

vue2和vue3部署到服务器子目录为空白页

问题&#xff1a;今天遇到vue项目部署到服务器默认hash没问题但是hhistory为空白的问题。研究了一下找到了答案记录一下 vue项目history模式部署在子路径 项目打包后默认只能部署在服务器根路径&#xff0c;如果想 http://www.xxx.com/demo/ 这种形式 vue3vite配置方法 在 …

计算机毕业设计-基于大数据技术下的高校舆情监测与分析

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、研究背景与意义1.1背景与意义1.2 研究内容 二、舆情监测与分析的关键技术2.1 robot协议对本设计的影响2.2 爬虫2.2.1 工作原理2.2.2 工作流程2.2.3 抓取策略2.3 scrapy架构2.3.1 scrapy&#xff1a;开源爬虫架…

Lua-Lua虚拟机2

Lua虚拟机是指Lua语言的执行环境&#xff0c;它是一种轻量级的、嵌入式的脚本语言虚拟机。Lua虚拟机可以解释执行Lua脚本&#xff0c;并提供了一系列的API供开发者使用。 Lua虚拟机的主要概念包括以下几个方面&#xff1a; 解释器&#xff1a;Lua虚拟机内部包含了一个解释器&a…

AcWing 4405. 统计子矩阵(双指针,前缀和)

给定一个 N M NM NM 的矩阵 A A A&#xff0c;请你统计有多少个子矩阵 (最小 1 1 11 11&#xff0c;最大 N M NM NM) 满足子矩阵中所有数的和不超过给定的整数 K K K? 输入格式 第一行包含三个整数 N , M N,M N,M 和 K K K。 之后 N N N 行每行包含 M M M 个整数…

【LinuxWindows 10系统中设置定时关机】

Windows 10系统中设置定时关机 在Windows 10系统中设置定时关机可以通过多种方式实现&#xff0c;以下是几种常用的方法&#xff1a; 方法一&#xff1a;命令提示符或运行窗口 打开“运行”窗口&#xff0c;可以按键盘上的Win R组合键&#xff1b; 在运行窗口中输入以下命令…

【构建工具】PostCSS快速配置

1. 安装依赖包 npm i -D postscss postcss-cli npm i -D autoperfixer postcss-preset-env npm i -D stylelint stylelint-config-standard npm i -D postcss-pxtorem// 执行命令 npx postcss style.css -o dist.css postcss // PostCSS核心包postcss-cli // PostCSS命令行a…

专业无网设备如何远程运维?向日葵远程控制能源场景案例解析

清洁能源领域&#xff0c;拥有庞大的上下游产业链&#xff0c;涉及的相关工业设备门类多、技术覆盖全、行业应用广。在这一领域内&#xff0c;相关专业设备的供应商的核心竞争力除了本身产品的技术能力之外&#xff0c;服务也是重要的一环。 某企业作为致力于节能环保方向的气…

由浅到深认识C语言(7)

该文章Github地址&#xff1a;https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.csdn…

云仓酒庄东莞分公司2024年日常沙龙:葡萄酒文化与品鉴之旅

原标题&#xff1a;云仓酒庄东莞分公司日常沙龙&#xff1a;葡萄酒文化与品鉴之旅&#xff0c;招商新机遇共融 在东莞这座充满活力的城市&#xff0c;云仓酒庄分公司近日举办了一场别开生面的日常沙龙活动。此次活动以葡萄酒文化与品鉴为主题&#xff0c;旨在让参与者深入体验…

Typecho CMS 反序列化漏洞(CVE-2018-18753)复现

1.环境搭建 项目地址&#xff1a;Release Typecho 1.0(14.10.10) typecho/typecho GitHub 安装&#xff1a; 创建数据库typecho create database typecho; 再进入安装程序&#xff0c;输入数据库密码&#xff0c;设置登录密码即可 直接使用即可 2.漏洞分析 install.php文…

[善用佳软]推荐掌握小工具:Json解析的命令行工具jq

前言&#xff1a; 我们在各种生产环境或者开发测试环境中&#xff0c;一定遇到有很多信息都是使用JSON串或者文本文件作为输入的。在没有JQ命令行工具之前&#xff0c;我们要从中获取真正的输入&#xff0c;大都把它复制到文本里头&#xff0c;然后使用文本编辑器进行加工整理…

PytorchAPI的使用及在GPU的使用和优化

API 调用API&#xff1a;和手动实现的思路是一样的。#1&#xff0c;#2这两个步骤是通用的步骤&#xff0c;相当于建立一个模型&#xff0c;之后你具体的数据直接丢进去就行了。只需要按着这样的样式打代码就行&#xff0c;死的东西&#xff0c;不需要你自己创造。 import torc…

【博士每天一篇文献-综述】Communication dynamics in complex brain networks

阅读时间&#xff1a;2023-11-30 1 介绍 年份&#xff1a;2018 作者&#xff1a;Andrea Avena-Koenigsberger&#xff0c;印第安纳大学心理与脑科学系&#xff1b;Bratislav Misic 蒙特利尔神经学研究所&#xff0c;麦吉尔大学 期刊&#xff1a; Nature reviews neuroscience…

【Linux进阶之路】HTTPS = HTTP + S

文章目录 一、概念铺垫1.Session ID2.明文与密文3.公钥与私钥4.HTTPS结构 二、加密方式1. 对称加密2.非对称加密3.CA证书 总结尾序 一、概念铺垫 1.Session ID Session ID&#xff0c;即会话ID&#xff0c;用于标识客户端与服务端的唯一特定会话的标识符。会话&#xff0c;即客…