Qt颜色十六进制转RGB

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

 

posted @   搞界面的程序员  阅读(1357)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示