当前位置:网站首页>qt颜色与字符串、uint相互转换
qt颜色与字符串、uint相互转换
2022-07-06 07:18:00 【码肥人壮】
软件开发中,很多设置需要使用json或者其他配置文件保存颜色值,把颜色拆成红、绿、蓝、透明度四个字段太麻烦了。
下面就是使用一个字段保存颜色的方法,就是将颜色保存为字符串或者uint类型,再将字符串解析成颜色。
首先分析一下,在很多json文件中颜色的使用如下字符表示:
#fffa3337
又或者,(上面的表示带透明度,下面不带)
#fa3337
读到程序中,他可以是字符串,也可以一段hex形式的uint值。
在qt中QRgb本质是unsigned int类型, qt源代码:
颜色转字符串
示范代码
//将颜色转为QRgb类型,color为QColor类型
QRgb mRgb = qRgba(color.red(), color.green(), color.blue(), color.alpha());
//将QRgb对象转为Hex字符串
obj["Color"] = QString::number(mRgb, 16);
输出样式如下:
"Color": "fffa3337",
字符串转颜色
示范代码
QString colorStr = obj["Color"].toString(); //获取颜色字符串
quint64 colorInt = colorStr.toUInt(NULL,16);
lineTemple.color = QColor(colorInt);
lineTemple.color.setAlpha(colorInt>>24);
边栏推荐
- OpenGL ES 学习初识(1)
- Twelve rules for naming variables
- TypeScript void 基础类型
- Multithreading and concurrent programming (2)
- UWA pipeline version 2.2.1 update instructions
- Proteus -- Serial Communication parity flag mode
- Cookie Technology & session Technology & ServletContext object
- word怎么只删除英语保留汉语或删除汉语保留英文
- 树莓派3B更新vim
- navicat如何导入MySQL脚本
猜你喜欢
The author is dead? AI is conquering mankind with art
Lesson 12 study notes 2022.02.11
微信脑力比拼答题小程序_支持流量主带最新题库文件
Oracle数据库11gr2使用tde透明数据加密报错ora28353,如果运行关闭wallet会报错ora28365,运行打开wallet就报错ora28353无法打开wallet
Uncaught TypeError: Cannot red propertites of undefined(reading ‘beforeEach‘)解决方案
Go learning --- use reflection to judge whether the value is valid
1091: two or three things in childhood (multi instance test)
How Navicat imports MySQL scripts
leetcode704. 二分查找(查找某个元素,简单,不同写法)
Oracle column to row -- a field is converted to multiple rows according to the specified separator
随机推荐
1091: two or three things in childhood (multi instance test)
Path analysis model
杰理之需要修改 gatt 的 profile 定义【篇】
Lesson 12 study notes 2022.02.11
杰理之BLE【篇】
Cookie Technology & session Technology & ServletContext object
JDBC学习笔记
杰理之如若需要大包发送,需要手机端修改 MTU【篇】
leetcode1020. 飞地的数量(中等)
OpenJudge NOI 2.1 1749:数字方格
NFT on fingertips | evaluate ambire on G2, and have the opportunity to obtain limited edition collections
SEO学习的最好方式:搜索引擎
Wechat brain competition answer applet_ Support the flow main belt with the latest question bank file
C - Inheritance - polymorphism - virtual function member (lower)
SSM学习
ORACLE列转行--某字段按指定分隔符转多行
TS基础篇
配置树莓派接入网络
TypeScript 函数定义
Is software testing outsourcing going or not? Three years' real outsourcing experience tells you