qt实现三原色滑动条变色

在qt中有这样一个控件:

就是这个Horizontal Slider他的作用相信大家都知道了,也就是通过滑动来改变数值。今天我们就使用这个控件实现一个三原色滑动变色。

实现效果:

1.创建UI界面 

这个就不用多说了,这个大家就按照我的这个去创建就好了。

2.编写代码

首先我们要初始话我们的属性:

  //初始化红色滑动条ui->hsred->setMaximum(255);ui->hsred->setMinimum(0);ui->hsred->setSingleStep(1);ui->hsred->setPageStep(10);ui->hsred->setOrientation(Qt::Horizontal);//初始化绿色ui->hsgreen->setMaximum(255);ui->hsgreen->setMinimum(0);ui->hsgreen->setSingleStep(1);ui->hsgreen->setPageStep(10);ui->hsgreen->setOrientation(Qt::Horizontal);//初始化蓝色ui->hsblue->setMaximum(255);ui->hsblue->setMinimum(0);ui->hsblue->setSingleStep(1);ui->hsblue->setPageStep(10);ui->hsblue->setOrientation(Qt::Horizontal);//设置背景色QString red = QString::number(ui->hsred->value());QString green = QString::number(ui->hsgreen->value());QString blue = QString::number(ui->hsblue->value());ui->lered->setText(red);ui->legreen->setText(green);ui->leblue->setText(blue);QString style = "background-color:rgb("+red+","+green+","+blue+");";ui->lineEdit->setStyleSheet(style);

来讲几个知识点:

//初始化红色滑动条
    ui->hsred->setMaximum(255);//这个 是设置滑动条的上限
    ui->hsred->setMinimum(0);//这个是设置活动条的下限
    ui->hsred->setSingleStep(1);//这个是设置步长
    ui->hsred->setPageStep(10);//这个是你点击的时候滑动条一次增加的量
    ui->hsred->setOrientation(Qt::Horizontal); // 设置滑动条方向为水平 

讲完这个,就开始编写我们的槽函数了

3.槽函数的编写

在ui界面中选中滑动条右键----->转到槽,然后开始敲代码


void Widget::on_hsgreen_valueChanged(int value)
{QString red = QString::number(ui->hsred->value());QString green = QString::number(ui->hsgreen->value());QString blue = QString::number(ui->hsblue->value());ui->legreen->setText(green);QString style = "background-color:rgb("+red+","+green+","+blue+");";ui->lineEdit->setStyleSheet(style);
}

好了,就是如此简单,大家快去试试吧

!!!!!!!!!!!!!!!!!!!!!!!

下课!!!!!! 

忘了 还有源码:

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//初始化红色滑动条ui->hsred->setMaximum(255);ui->hsred->setMinimum(0);ui->hsred->setSingleStep(1);ui->hsred->setPageStep(10);ui->hsred->setOrientation(Qt::Horizontal);//初始化绿色ui->hsgreen->setMaximum(255);ui->hsgreen->setMinimum(0);ui->hsgreen->setSingleStep(1);ui->hsgreen->setPageStep(10);ui->hsgreen->setOrientation(Qt::Horizontal);//初始化蓝色ui->hsblue->setMaximum(255);ui->hsblue->setMinimum(0);ui->hsblue->setSingleStep(1);ui->hsblue->setPageStep(10);ui->hsblue->setOrientation(Qt::Horizontal);//设置背景色QString red = QString::number(ui->hsred->value());QString green = QString::number(ui->hsgreen->value());QString blue = QString::number(ui->hsblue->value());ui->lered->setText(red);ui->legreen->setText(green);ui->leblue->setText(blue);QString style = "background-color:rgb("+red+","+green+","+blue+");";ui->lineEdit->setStyleSheet(style);}Widget::~Widget()
{delete ui;
}void Widget::on_hsred_valueChanged(int value)
{QString red = QString::number(ui->hsred->value());QString green = QString::number(ui->hsgreen->value());QString blue = QString::number(ui->hsblue->value());ui->lered->setText(red);QString style = "background-color:rgb("+red+","+green+","+blue+");";ui->lineEdit->setStyleSheet(style);
}void Widget::on_hsgreen_valueChanged(int value)
{QString red = QString::number(ui->hsred->value());QString green = QString::number(ui->hsgreen->value());QString blue = QString::number(ui->hsblue->value());ui->legreen->setText(green);QString style = "background-color:rgb("+red+","+green+","+blue+");";ui->lineEdit->setStyleSheet(style);
}void Widget::on_hsblue_valueChanged(int value)
{QString red = QString::number(ui->hsred->value());QString green = QString::number(ui->hsgreen->value());QString blue = QString::number(ui->hsblue->value());ui->leblue->setText(blue);QString style = "background-color:rgb("+red+","+green+","+blue+");";ui->lineEdit->setStyleSheet(style);
}

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

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

相关文章

Python虚拟环境创建和使用总结

参考: venv --- 虚拟环境的创建 — Python 3.12.5 文档 【Python进阶】Python虚拟环境使用全方位指南:从零开始轻松实践 - 知乎 (zhihu.com) Python 如何删除使用 venv 创建的 Python3 虚拟环境|极客教程 (geek-docs.com) 我们知道,python程序…

【C/C++】C++类与对象基本概念(抽象封装、类的定义与使用、构造函数、析构函数、静态成员、友元)

目录 七、类与对象基本概念7.1 抽象7.2 类的定义与声明7.3 访问控制7.4 类的实现与使用7.5 对象指针、this指针与对象引用7.6 构造函数7.7 析构函数7.8 拷贝构造函数7.9 类类型作为函数参数7.10 对象数组7.11 静态成员7.12 常对象与常成员(const)7.13 友…

讲个SystemVerilog disable语句的坑

前言 记录个使用SystemVerilog disable语句时遇到的坑,这个坑有点反直觉,以至于我当时有点不信,觉得可能是EDA仿真工具的问题。后来查看了SystemVerilog手册和使用不同EDA工具进行验证,才慢慢接受了。结论是:SystemVe…

ctfshow之web58~web71

目录 web58 思路一: 思路二: 思路三: web59~web65 web66~web67 web68~web70 web71 web58 if(isset($_POST[c])){$c $_POST[c];eval($c); }else{highlight_file(__FILE__); } PHP eval() 函数介绍 定义和用法 eval() 函数把字符串按…

新型蜜罐有哪些?未来方向如何?

前言:技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力。 一、新型蜜罐的诞生 技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力,通过借鉴不同技术思想、方法,与其它技术结合形成优势互补,…

python内置模块time详解(我们需要了解的多种时间格式)

Python的time模块提供了各种与时间相关的函数。我们可以获取当前时间、操作时间日期、计算两个时间差等。 时间有两种标准表示法: 数字表示: 整数或浮点数,通常是自从1970年1月1日以来的秒数。9个整数组成的元组:元组项包含年份,月份&#…

Diffusion 模型生成图片太慢了?用 AE(AutoEncoder) 和 VAE 加速一波!

Diffusion 模型生成图片太慢了?用 AE(AutoEncoder) 和 VAE(Variational AutoEncoder) 压缩图片加速一波! 本文分为两个部分:理论学习和代码实践。 先预览一下 AE 和 VAE 模型的效果: 理论学习 本文价值 Diffusion 模型生成图片的效…

图像识别智能垃圾桶项目开发--语音命令识别垃圾

一、项目思维导图 二、语音模块配置信息 三、项目程序 main.c garbage.c garbage.h uartTool.c //串口发送数据 uartTool.h

台式机CPU温度90℃以上-排查思路

虽然现在台式机不值钱。 但是对于穷苦老百姓来说,还是害怕它坏掉,坏掉就又需要花钱买了。 ①风扇清理所有灰尘(风扇的散热网是可以拆下来的), 主板清理所有灰尘(用画笔或者干燥的牙刷,注意是…

编程效率进阶:打造你专属的 Git 别名与 PyCharm 完美结合

在日常开发中,Git 是我们不可或缺的工具。掌握常用 Git 命令可以帮助我们更高效地进行版本控制,但随着命令的复杂性增加,记住所有命令变得困难。这时,Git 别名的设置就显得尤为重要。此外,许多开发者使用 PyCharm 作为…

TypeScript与vue

一、为组件的props标注类型 - 在没有使用TS之前,是这样接受props: - 在TS环境中,是这样接受props: - 对于props的可选项如何限制呢? 1、类型限制 类型限制在接收的时候就已经定义好了 2、可选属性(必填限制…

c# net8调用vc写的dll

dll程序(vc,x86) 头文件 extern "C" int __declspec(dllexport) WINAPI add(int a, int b);实现 int WINAPI add(int a, int b) {return a b; }c#/net8 函数声明: [DllImport("dll/Dll1.dll", CallingConvention CallingCo…

c++中的匿名对象及内存管理及模版初阶

目录 c中的匿名对象 日期到天数的转换 深入理解析构 深入理解拷贝构造 内存管理 全局变量和static变量的区别; malloc/calloc/realloc的区别 new和delete的意义? operator new与operator delete函数 对比malloc和new operator 定制operator ne…

switch语句和while循环

switch语句和while循环 switch语句break的用法default的用法switch语句中的case和default的顺序问题 while语句while语句的执行流程while语句的具体例子 switch语句 switch 语句是⼀种特殊形式的 if…else 结构,用于判断条件有多个结果的情况。它把多重 的 else if…

Markdown语法与Latex公式汇总

1 基本语法 1.1 标题 语法如下: 效果如下: 1.2 字体样式 语法效果普通正文字体普通正文字体*倾斜字体*倾斜字体**加粗字体**加粗字体***倾斜加粗字体***倾斜字体~~划线字体~~倾斜字体 1.3 分割线 语法如下: 效果如下: …

鸿蒙项目签名配置

配置需要以下四个文件: 1. p12文件 2. csr文件 3. cer文件 打开AGC平台 点击申请调试证书 4. p7b文件 最后在项目中进行配置 配置项目的module.json5中

NASAVIIRS数据下载

目录 Visible Infrared Imaging Radiometer Suite(VIIRS)NOAA 数据下载用户注册 数据查找1.选择产品类型2. 数据索引3. 提交订单 Visible Infrared Imaging Radiometer Suite(VIIRS) 来自 Suomi NPP 的可见光红外成像辐射计套件 …

学习如何更好向GPT提问

如今以chatgpt为首的各种语言大模型应运而出,已经逐渐应用到平时的工作和学习中,但就算是使用同一种大模型提问同一个问题也有不同的答案,如何更快更好的获取优质答案是应该关心和学习的重点。 本文在《成为提问工程师》书的基础上加以整理总…

【Python系列】 Python 中的枚举使用

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

求解组合优化问题的具有递归特征的无监督图神经网络

文章目录 ABSTRACT1 Introduction2 Related Work3 QRF-GNN方法4 数值实验4.1 MAX-CUT4.2 COLORING5 conclusionABSTRACT 介绍了一种名为QRF-GNN的新型算法,有效解决具有二次无约束二进制优化(QUBO)表述的组合问题。依赖无监督学习,从最小化的QUBO放松导出的损失函数。该架构…