我正在使用“内部测试库”为我的 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 channel 是否足以认为这两种颜色相等?
注意:在这种情况下,我需要确切地知道哪个 channel “不匹配”,所以我不能只使用==
运算符。
最佳答案
QColor
有 operator ==
。只需尝试 if(color1 == color2)
...
文档在这里。 (如您所见,它比较了 RGB 和 alpha。)
关于c++ - 比较两个 QColor 对象的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47455380/