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();

posted @ 2024-11-19 18:07  阳光下的小土豆  阅读(52)  评论(0编辑  收藏  举报