我正在使用'内部测试库'为我的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通道以考虑两种颜色相等?
注意:在这种情况下,我需要确切知道哪个频道“不匹配”,因此我不能只使用==
运算符。
答案 0 :(得分:4)
QColor
有operator ==
。试试if(color1 == color2)
...
此处的文档。 (正如您所看到的,它会比较RGB和alpha。)