Qt QColor получает код цвета, например 45653 (0-65535)
У меня есть простая проблема, но я пока не могу ее решить.
Я что-то вроде этого:
QColor someColor = getColor();
После этого мне нужно получить цветовой код в диапазоне (0-65535). Обращаю ваше внимание, что мне не нужны цветовые коды в диапазоне (0-255).
Так что я должен делать? Может быть что-то вроде:
someColor.get...()
2 ответа
Qt уже предоставляет такую функцию. Смотрите документацию здесь и здесь.
Что это говорит:
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.
QColor представляет собой комбинацию из 3 байтов (RGB), поэтому вы должны искать диапазон цветов от 0 до 2^24-1 [0, 16777215]
Вы могли бы сделать что-то вроде:
bool ok;
qDebug() << someColor.name().replace("#", "").toUInt(&ok,16);
С уважением.