Вопрос

у меня есть char[4] и я хочу иметь возможность преобразовать его в QColor есть ли способ напрямую преобразовать, а не делать это:

const char foo[4] = { 128, 128, 128, 128 };
const QColor bar( foo[0], foo[1], foo[2], foo[3] );
Это было полезно?

Решение

Я предполагаю, что вы используете RGBA, поэтому вы можете использовать соответствующий конструктор:

QColor::QColor(int r, int g, int b, int a = 255)

Создает цвет со значением RGB r, g, b и значением альфа-канала (прозрачности) a.

Цвет остается недействительным, если какой-либо из аргументов недействителен.

Вы также можете использовать следующий статический метод:

QColor QColor::fromRgb(int r, int g, int b, int a = 255) [статический]

Статическая удобная функция, которая возвращает QColor, созданный из значений цвета RGB: r (красный), g (зеленый), b (синий) и a (альфа-канал, т.е.прозрачность).

Все значения должны находиться в диапазоне 0–255.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top