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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~