【Qt学习】QWidget的styleSheet属性与实例(日/夜间模式、RGB颜色的表示)

文章目录

  • 1. 介绍
  • 2. 实例分析
    • RGB颜色的表示
    • 实例 - 日 / 夜间模式
  • 3. 代码资源

1. 介绍

在这里插入图片描述
上图来自Qt官方文档,我们以此对styleSheet进行总结:

  • styleSheet 样式表是一种可以通过文本描述来自定义控件外观的强大工具,它类似于网页开发中的 CSS(层叠样式表)。在Qt中我们称为QSS

在这里插入图片描述

  1. QWidget中的属性栏可以直接进行添加

  2. 或对控件进行改变样式表的操作:

在这里插入图片描述

  • 同样的,QSS的设置格式与CSS类似,使用 键值对 进行:

例如:

在这里插入图片描述
效果如下:

在这里插入图片描述

2. 实例分析

我们根据样式表,实现两个按钮,可以调节窗口为夜间模式与日间模式

首先我们简要介绍一下,RGB颜色的表示 的知识点👇:

RGB颜色的表示

我们知道:

  1. R(红色)G(绿色)B(蓝色)分别为计算机的三原色,所有颜色的表示都通过这三种进行混合
  2. 在计算机中,通常分别各使用一个字节表示R、G、B
    • 范围为0 - 255,即0x00 - 0xFF
    • 如果表示R的数值为0,代表红色为0;如果表示R的数值为255,即红色为满;
  3. 最终的颜色就有下面两种表示:
    • rgb(255, 255, 0) 红色绿色拉满,蓝色为0
    • #FFFF00 红色绿色拉满,蓝色为0

ps:想获取某个颜色的表示,可以利用在线的色彩提取器,或者软件获取。

实例 - 日 / 夜间模式

在该实例中,我们实现将 窗口更改为 日间 / 夜间模式的功能:

  1. 我们首先创建两个按钮,随后在各自的槽函数中进行代码的编写:
void Widget::on_pushButton_light_clicked()
{// 设置窗口样式this->setStyleSheet("background-color: #F0F0F0"); // Qt窗口初始背景色// 设置输入框样式:白底黑字ui->textEdit->setStyleSheet("background-color: white; color: black;");// 设置按钮样式ui->pushButton_light->setStyleSheet("color: balck");ui->pushButton_dark->setStyleSheet("color: balck");
}void Widget::on_pushButton_dark_clicked()
{// 设置窗口样式this->setStyleSheet("background-color: #2D2736"); // 非纯黑色背景// 设置输入框样式:黑底白字ui->textEdit->setStyleSheet("background-color: balck; color: white;");// 设置按钮样式ui->pushButton_light->setStyleSheet("color: white");ui->pushButton_dark->setStyleSheet("color: white");
}

结果演示

请添加图片描述

3. 代码资源

上文相关的代码等文件资源👇

QWidget的styleSheet属性 - 日 / 夜间模式的实现

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

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

相关文章

队列的基本操作——常见队列的对比分析(c语言完整代码包含注释)

目录 一、队列 1.1基本概念 1.2基本操作 1.3 队列分类 1.3.1带头队列 1.3.2不带头队列 1.3.3 循环带头队列 1.3.4 循环不带头队列 1.3.5 总结 二、代码实现 2.1带头队列 2.2不带头队列 2.3循环带头队列 2.4循环不带头队列 一、队列 1.1基本概念 队列&#xff08…

WordPres Bricks Builder 前台RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

【软考】系统集成项目管理工程师【总】

引言 本来整理这篇文章的目的是方便自己23年考试用的 效果不错 目标完成。 接下来的目标是把这篇文章 做成参加该软考 小伙伴的唯一参考资料(有它就够了)来持续更新。。。 这篇文章我将当作一个长周期(以年为单位)项目运维起来&am…

微服务远程调用Feign

目录 RPC概述 什么是Feign? Ribbon&Feign对比 Feign的设计架构 Spring Cloud Alibaba快速整合Feign Spring Cloud Feign扩展 日志配置 契约配置 通过拦截器实现参数传递 自定义拦截器实现认证逻辑 超时时间配置 RPC概述 微服务之间如何方便优雅的实…

【python】yolo目标检测模型转为onnx,及trt/engine模型的tensorrt轻量级模型部署

代码参考: Tianxiaomo/pytorch-YOLOv4: PyTorch ,ONNX and TensorRT implementation of YOLOv4 (github.com)https://github.com/Tianxiaomo/pytorch-YOLOv4这个大佬对于各种模型转化写的很全,然后我根据自己的需求修改了部分源码,稍微简化了…

【深度学习:人体姿态估计】计算机视觉人体姿态估计完整指南

【深度学习:人体姿态估计】计算机视觉人体姿态估计完整指南 什么是人体姿态估计?2D 人体姿态估计2D 人体姿态估计示例2D 与 3D 人体姿态估计人体姿态估计如何工作? 机器学习中人类姿态估计的挑战用于人体姿态估计的流行机器学习模型#1: OmniP…

基于卷积神经网络的图像去噪

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 基于卷积神经网络的图像去噪 完整代码:基于卷积神经网络的图像去噪.rar资源-CSDN文库 https://download.csdn.net/download/abc9918351…

2.23通过platform总线驱动框架编写LED灯的驱动,编写应用程序测试

驱动代码 #include <linux/init.h> #include <linux/module.h> #include <linux/of_gpio.h> #include <linux/gpio.h> #include <linux/platform_device.h> #include <linux/mod_devicetable.h>#define LED_ON _IOW(l, 1, int) #define L…

H12-821_45

45.如图所示,同一局域网中的四台路由器运行IS-IS,其中R1是DIS.则R2、R3、R4分别和R1建立邻接关系,R2、R3、R4之间不建立邻接关系。 A.正确 B.错误 答案&#xff1a;B 注释&#xff1a; 在广播链路上IS-IS路由器建立邻接关系和OSPF不同&#xff0c;所有IS-IS路由器之间都可以建…

前端项目打包体积分析与优化

一、安装依赖分析工具 npm install webpack-bundle-analyz 二、修改webpack.config.js文件 1、导入上面下载的包 2、在plugins里创建实例 三、启动打包命令 npm run build 会弹出如下界面&#xff1a; 四、优化 1、通过CDN导入react-dom文件 修改webpack.config.js文件里…

Linux环境安装jira

jira 是项目与事务跟踪工具&#xff0c;被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 jira 软件安装包直接搜官网&#xff0c;然后可以选择免费的来下载&#xff1a; 安装 jira 之前&#xff0c;需要 Java 和 mysql 环境的…

大模型+影像:智能手机“上春山”

这个春节假期&#xff0c;一首《上春山》火了。吃瓜群众热热闹闹学了一个假期的“春山学”&#xff0c;了解了抢占C位的各种技巧。 假期过去&#xff0c;开工大吉&#xff0c;手机行业开始抢占今年的C位。那么问题来了&#xff0c;今年智能手机最大的机会点在哪里&#xff1f;答…