今天在项目中需要用到QColor,但是在另一个编译环境中并不支持Qt的类型,或者其他原因不能使用QColor,那么此时转为QString是最好的做法,因为无论任何语言都支持字符串,只需要把QColor的rgb提取出来转成字符串,那么就可以兼容后续任何操作了。
废话少说,上代码:
QColor stringToColor(QString colorStr);
QString colorTostring(QColor color);
QColor stringToColor(QString colorStr)
{
QColor color;
QStringList rgb=colorStr.split(',');
if(rgb.size()==3){
int r=rgb.at(0).toInt();
int g=rgb.at(1).toInt();
int b=rgb.at(2).toInt();
color.setRgb(r,g,b);
}
else
color.setNamedColor(colorStr);
return color;
}
QString colorTostring(QColor color)
{
QString str = "";
str = QString::number(color.red())+","+QString::number(color.green())+","+QString::number(color.blue());
return str;
}