How to sort QList<QVariant> in Qt?

qt, qvariant, sorting

Solution

I would do sorting in the following way:

 // 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);
 }

Update: in QT5 the `qSort` obsoleted. But it is still available to support old source codes. It is highly recommended to use `std::sort` instead of that in new codes.

Problem

I have the following datastructure. ``` QList<QVariant> fieldsList ``` How can I sort this list? This list contains strings. I want to sort the `fieldList` alphabetically?

Original source