2

QTableViewまたはモデルのカスタム並べ替え方法を設定するにはどうすればよいですか?(どの関数を再実装する必要がありますか)

デフォルトの並べ替えアルゴリズムは文字列用です。特定の列の番号の並べ替え方法が必要です。

ありがとう。

4

1 に答える 1

6

QSortFilterProxyModelを使用する必要があります。lessThanメソッドを再実装する必要があります。次に、プロキシモデルのsourceModelを設定し、プロキシモデルをビューのモデルとして設定する必要があります

class MyProxyModel: public QSortFilterProxyModel
{
protected:
     bool   lessThan ( const QModelIndex & left, const QModelIndex & right ) const
     {
         // your sorting rules
     }
};

// ... somewhere where your view is accessible
MyProxyModel * m = new MyProxyModel();
m->setSourceModel(yourModel);
yourView->setModel(m);
于 2012-03-23T15:43:30.340 に答える