我正在使用“内部测试库”为我的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());
}或者说,将红、绿、蓝和阿尔法通道进行比较,认为这两种颜色是相等的,是否就足够了?
Note:在这种情况下,我需要确切地知道哪个通道“不匹配”,所以我不能只使用==操作符。
发布于 2017-11-23 12:17:40
QColor有operator ==。试试if(color1 == color2)..。
这里的文件。(如您所见,它比较了RGB和alpha。)
http://doc.qt.io/qt-4.8/qcolor.html#operator-eq-eq
https://stackoverflow.com/questions/47455380
复制相似问题