欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QT笔记——RGB转化为16进制颜色

程序员文章站 2024-03-18 14:45:28
...

//将rgb的颜色转化为16进制的颜色
形式:rgb(0,0,0)<< #000000
返回类型:字符串 QString

1.首先,我们需要得到一个color
头文件:#include 《QColorDialog》
//颜色选择器

QColor color = QColorDialog::getColor(Qt::black, this,"选择你要的颜色");

2.使用converRGB16HexStr(QColor _color)函数,将color这个实参放到函数中,即可得到16进制的颜色
//调用函数

QString  gethexstr=converRGB16HexStr(color)

3.函数介绍,分别将R,G,B转换为16进制,然后拼接在一起形成该颜色的16进制的颜色#000000,返回一个字符串hexstr

QString Dialog::converRGB16HexStr(QColor _color) {
     //r的rgb转化为16进制
     QString redStr = QString("%1").arg(_color.red(),2,16,QChar('0'));
     //g的rgb转化为16进制
     QString greenStr = QString("%1").arg(_color.green(),2,16,QChar('0'));
     //b的rgb转化为16进制
     QString blueStr = QString("%1").arg(_color.blue(),2,16,QChar('0'));
     //将各rgb的拼接在一起形成#000000
     QString hexStr = "#"+redStr+greenStr+blueStr;
     //返回hexStr
     return hexStr; 
     }

参考博客:https://blog.csdn.net/ZQUly/article/details/99689988

相关标签: QT学习笔记 qt