2016-05-25 6 views
0

У меня есть простая проблема, но я пока не могу ее решить.Qt QColor получить код цвета как 45653 (0-65535)

Я Hame что-то вроде этого:

QColor someColor = getColor(); 

После этого мне нужно, чтобы получить код цвета, который в диапазоне (0-65535), обращаю ваше внимание, что мне не нужно цветовые коды в диапазоне (0 -255).

Итак, что я должен делать? Может быть что-то вроде:

someColor.get...() 

ответ

1

QColor представляет собой комбинацию из 3-х байт (RGB), так что вы должны искать в цветовом диапазоне от 0 до 2^24-1 [0, 16777215]

Вы мог бы сделать что-то вроде:

bool ok; 
qDebug() << someColor.name().replace("#", "").toUInt(&ok,16); 

С уважением.

1

Qt уже предоставляет такую ​​функцию. См. Документацию here и here.

Что он говорит:

QRgb QColor::rgb() const 
// Returns the RGB value of the color. The alpha value is opaque. 

QRgb QColor::rgba() const 
// Returns the RGB value of the color, including its alpha. 

typedef QRgb 
// An ARGB quadruplet on the format #AARRGGBB, equivalent to an unsigned int. 
// The type also holds a value for the alpha-channel.