如何比较Qt中的两个QList变量

时间:2018-10-28 12:28:08

标签: qt qlist

我想比较两个Qlist说

QList<QSerialPortInfo> port1;
QList<QSerialPortInfo> port2;

我想在if条件下实施

if (port1 != port2)
{
// do something
}

但是似乎它不起作用,因为我已经阅读了QList的文档,并且有该成员

operator!=(const QList<T> &other) const

任何想法如何实现它,请不要说哦,我不会给您解决方案,但是这里有个提示。我不是学生,这不是家庭作业。我正在Qt中做自己的项目。 谢谢大家。

1 个答案:

答案 0 :(得分:4)

QList<T>::operator!= documentation ...

  

此函数要求值类型具有以下实现   运算符==()。

不幸的是,没有为operator==定义有效的QSerialPortInfo,但您可以轻松实现自己的...

bool operator== (const QSerialPortInfo &lhs, const QSerialPortInfo &rhs)
{
  return lhs.manufacturer() == rhs.manufacturer()
    && lhs.serialNumber() == rhs.serialNumber();
}

所示代码假定QSerialPortInfo实例可以由其制造商和序列号唯一标识。