比较两个QColor对象的颜色

时间:2017-11-23 12:15:37

标签: c++ qt 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());
}

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

注意:在这种情况下,我需要确切知道哪个频道“不匹配”,因此我不能只使用==运算符。

1 个答案:

答案 0 :(得分:4)

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

此处的文档。 (正如您所看到的,它会比较RGB和alpha。)

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