#include "filesorter.h" FileSorter::FileSorter(QObject *parent) : QSortFilterProxyModel(parent) {} bool FileSorter::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const { QVariant leftData = sourceModel()->data(source_left, Qt::UserRole + 1); QVariant rightData = sourceModel()->data(source_right, Qt::UserRole + 1); if(leftData.type() == QVariant::Int){ return leftData.toInt() < rightData.toInt(); } return QSortFilterProxyModel::lessThan(source_left, source_right); }