【问题标题】:how to comapre two QList variables in Qt如何比较Qt中的两个List变量
【发布时间】:2018-10-28 12:28:08
【问题描述】:

我想比较两个 Qlist 说

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

我想在if 条件下实现它,这样

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

但它似乎不像我已经阅读了 QList 的文档并且有这个成员那样工作

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

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

【问题讨论】:

    标签: qt qlist


    【解决方案1】:

    来自QList&lt;T&gt;::operator!= documentation...

    这个函数需要值类型有一个实现 运算符==()。

    很遗憾,没有为QSerialPortInfo 定义有效的operator==,但您可以轻松实现自己的...

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

    显示的代码假定QSerialPortInfo 实例可以通过其制造商和序列号唯一标识。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      相关资源
      最近更新 更多