web-dev-qa-db-ja.com

QtでQList <QVariant>をソートする方法は?

私は次のデータ構造を持っています。

QList<QVariant> fieldsList

このリストを並べ替えるにはどうすればよいですか?このリストには文字列が含まれています。 fieldListをアルファベット順に並べ替えますか?

15

私は次の方法でソートを行います:

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

Qt5では、qSortは非推奨のようです。使用することをお勧めします:

#include <algorithm>
QList<QVariant> fieldsList;
std::sort(fieldsList.begin(), fieldsList.end());

参照: サイト

39
albertTaberner