Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 比较两个QColor对象的颜色_C++_Qt_Qcolor - Fatal编程技术网

C++ 比较两个QColor对象的颜色

C++ 比较两个QColor对象的颜色,c++,qt,qcolor,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(),

我正在使用“内部测试库”为我的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());
}

或更确切地说,比较红色、绿色、蓝色和阿尔法通道来考虑这两种颜色是否相等?


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

QColor
具有
操作符==
。如果(color1==color2),请尝试

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


QColor
具有
运算符==
。如果(color1==color2)
,请尝试

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


希望您不介意我添加一个链接到您的答案Ashwel?是的,
操作符==()
应该始终是我们尝试的第一件事,如果类作者还没有实现比较,我们只需要担心自己实现比较。抱歉,我对我的问题不太清楚,我已经更新了它。正如您所提到的,文档中说它比较了RGB和alpha颜色,所以我的比较函数似乎可以正常工作(文档:如果此颜色的RGB和alpha值与颜色相同,则返回true;否则返回false)。希望您不介意我添加一个链接到您的答案Ashwel?是,
运算符==()
应该始终是我们尝试的第一件事,如果类作者还没有完成比较,我们只需要担心自己实现比较。对不起,我对我的问题不太清楚,我已经更新了它。正如您所提到的,文档中说它比较RGB和alpha颜色,所以我的比较函数似乎可以按预期工作(文档:如果此颜色的RGB和alpha值与颜色相同,则返回true;否则返回false)。