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

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

1.首先,我们需要得到一个color
头文件:

#include 

//颜色选择器

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)