Qt 16进制颜色 QColor
一、
16进制转rgb(a)
1、
QColor 类可以通过字符串作为参数来创建表示 RGBA 值的颜色对象。字符串必须满足以下格式,
RGB (红、绿、蓝):#RRGGBB 或者 #RGB,其中 RR、GG、BB 表示 16 进制的红、绿、蓝分量的值。
RGBA(红、绿、蓝、透明度):#RRGGBBAA或者 #RGBA,其中 RR、GG、BB 表示 16 进制的红、绿、蓝分量的值,AA 表示 透明度。
示例代码:
color1 =QColor('#FFA500') # 创建不透明的颜色对象
color2 = QColor('#FFA50080') # 创建带有透明度的额色对象
print(color1.red(),color1.green(),color1.blue()) # 出红、绿、蓝分量的值
print(color2.red(),color2.green(),color2.blue(),color2.alpha()) # 出 RGBA 值
执行以上代码,可以得输出结果:
255 165 0
255 165 0 128
其中,color1 表示颜色橙色(未设置透明度),color2 表示橙色和透明度为一定值(这里是内部时2位),输出结果中也可以看出 RGBA值。
2、
QColor clr1 = str.toUInt(nullptr, 16);
二、
rgb转16进制
QColor clr;
QString str = clr.color().name();