2011-04-18 257 views
4

如何通过QDateTime对象的值对QDateTime *对象的QList进行排序?如何对QDateTime *的QList进行排序?

+0

如果你想通过QDateTime的内容,而不是指针值进行排序,那么你应该这么说。否则,简单的答案就是'qSort(list)'; – rohanpm 2011-04-18 01:50:44

+0

我的错,我想按值排序,我编辑了问题 – Jon 2011-04-18 02:04:57

+2

没有必要将QDateTime编辑处理为指针,最好使用QList 。 – 2011-04-18 06:26:42

回答

10

您可以使用qSort用自己的比较函数:

#include <QtAlgorithms> 

bool dtcomp(QDateTime* left, QDateTime *right) { 
    return *left < *right; 
} 

QList<DateTime*> dtlist = ...; 
qSort(dtlist.begin(), dtlist.end(), dtcomp); 
+0

谢谢,这应该工作。 – Jon 2011-04-18 02:05:54