欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

将Qt的16进制颜色转换为RGB

最编程 2024-01-12 19:20:34
...

1.功能描述

在开发过程中需要将十六进制表示的颜色转化为RGB或QColor,在网上搜索后,最常见的方法如下

QString colorstr = "#ffffff";
QColor color(colorstr.toUInt(NULL,16));

然而自己在实现的过程中,发现该方法并没有达到想要的效果,不知道是不是自己用错了。

实际上,十六进制颜色的六个字符与RGB对应,每两个字符一组,分别表示R、G、B的十六进制值,因此,只需要将其分别转换成十进制,即可得到RGB值和QColor。

2.代码实现

QString colorstr = "#ffffff";
int r = ctext.mid(1, 2).toInt(nullptr, 16);
int g = ctext.mid(3, 2).toInt(nullptr, 16);
int b = ctext.mid(5, 2).toInt(nullptr, 16);
QColor color = QColor(r, g, b);

 

推荐阅读