如何在Qt中对QList <QVariant>进行排序?

dex*_*ous 15 sorting qt qvariant

我有以下数据结构.

QList<QVariant> fieldsList
Run Code Online (Sandbox Code Playgroud)

我该如何排序这个清单?此列表包含字符串.我想fieldList按字母顺序排序?

alb*_*ner 41

在Qt5中,它似乎qSort已被弃用.建议使用:

#include <algorithm>
QList<QVariant> fieldsList;
std::sort(fieldsList.begin(), fieldsList.end());
Run Code Online (Sandbox Code Playgroud)

参考:网站


vah*_*cho 17

我会按以下方式进行排序:

 // Compare two variants.
 bool variantLessThan(const QVariant &v1, const QVariant &v2)
 {
     return v1.toString() < v2.toString();
 }

 int doComparison()
 {
     [..]
     QList<QVariant> fieldsList;

     // Add items to fieldsList.

     qSort(fieldsList.begin(), fieldsList.end(), variantLessThan);
 }
Run Code Online (Sandbox Code Playgroud)