比较两个 QColor 对象的颜色

Compare the color of two QColor objects

我正在使用 'internal test library' 为我的 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());
}

或者更确切地说,比较红色、绿色、蓝色和 alpha 通道是否足以认为这两种颜色相等?

注意:在这种情况下,我需要确切地知道什么频道'does not match',所以我不能只使用==运算符。

QColoroperator ==。试试 if(color1 == color2)...

文档在这里。 (如您所见,它比较了 RGB 和 alpha。)

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