Сравните цвет двух объектов QColor

Я реализую тесты для моего приложения Qt, используя «внутреннюю библиотеку тестов». Проблема в том, что библиотека не предоставляет возможность сравнить два QColor объекты.

Правильно ли использовать следующий код для сравнения цвета двух QColor объекты?

void MyClass::compare(QColor color1, QColor color2)
{
ASSERT_EQ(color1.red(), color2.red());
ASSERT_EQ(color1.green(), color2.green());
ASSERT_EQ(color1.blue(), color2.blue());
ASSERT_EQ(color1.alpha(), color2.alpha());
}

Или, скорее, достаточно сравнить красный, зеленый, синий и альфа-каналы, чтобы считать два цвета равными?

Заметка: в этом случае мне нужно точно знать, какой канал «не соответствует», поэтому я не могу просто использовать == оператор.

0

Решение

QColor имеет operator ==, Просто попробуй if(color1 == color2)

Документация здесь. (Как вы можете видеть, он сравнивает RGB и альфа.)

http://doc.qt.io/qt-4.8/qcolor.html#operator-eq-eq

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]