比较QList qt5.3中的项目

用户名

我正在尝试比较QList中的项目。这是使用QPtrCollection的旧方法,但是无法在qt3之后的版本中使用(据我所知)。

class gnyComponentList:public QList<gnyComponent>
{
protected:
    virtual int compareItems ( QPtrCollection::Item item1, QPtrCollection::Item item2 )
    { return (((gnyComponent *)item1)->getID()).compare(((gnyComponent *)item2)->getID());}
};

我不知道在Qt5.3中这样做的好方法是什么?

弗里希·拉贝(Frerich Raabe)

您可以std::equalQList对象使用该算法,如下所示:

#include <QList>
#include <QString>

#include <algorithm> // for std::equal

struct Person
{
    QString firstName;
    QString lastName;
};

int main()
{
    QList<Person> personsA, personsB;
    // Populate personsA and personsB
    bool equal = std::equal( personsA.begin(), personsA.end(),
                             personsB.begin(),
                             []( const Person &a, const Person & b ) {
                                return a.firstName == b.firstName;
                             } );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QList qt5.3中的比较项目

来自分类Dev

QList<T>::operator[] 中的断言失败:“索引超出范围”文件 /usr/include/arm-linux-gnueabihf/qt5/QtCore/qlist.h

来自分类Dev

在Qt5中创建QVideoWidget

来自分类Dev

获取Qt5中的语言列表

来自分类Dev

在QT5中实现原子队列

来自分类Dev

QT5中的信号和插槽

来自分类Dev

Qt5中的OpenGl实例渲染

来自分类Dev

比较两个原子整数Qt5

来自分类Dev

带有QT5“ Qt5 :: QtCore”的现代CMake 3,但未找到目标

来自分类Dev

使用Qt5的Qt3D编译失败

来自分类Dev

Travis CI的Qt5项目

来自分类Dev

使用MinGW的Windows上的Qt5项目

来自分类Dev

osx cmake构建Qt5项目

来自分类Dev

在Qt5中处理QRegularExpressions中的重音字母

来自分类Dev

在Qt5中更改QGraphicsScene / View中的Pixmap位置

来自分类Dev

在Qt5中更改QGraphicsScene / View中的Pixmap位置

来自分类Dev

在Qt5中处理QRegularExpressions中的重音字母

来自分类Dev

C++ QT Casting 到 QList 中项目的子类

来自分类Dev

在Qt5中的QWidget中显示Qt3D内容

来自分类Dev

Qt5路径中的转义空间

来自分类Dev

Qt5换行符在翻译文本中?

来自分类Dev

SVG图标未出现在Qt5中

来自分类Dev

Qt5中的QX11EmbedWidget对应什么?

来自分类Dev

在OS X上的Qt5中支持Retina

来自分类Dev

如何检测Qt5中的QObject :: moveToThread()故障?

来自分类Dev

使用动态插件在Qt5中处理QMetaType注册

来自分类Dev

如何在Qt5中检查url是否可用?

来自分类Dev

如何修复Qt5中的gstreamer错误?

来自分类Dev

在OSX 10.10的Qt5中找不到OpenCV库