ユーザーは、QFileDialogを介してアプリでファイルを開きます。ファイル名の順序は奇妙です。並べ替え順序を決定するのは何ですか。ファイル名で並べ替える方法や、独自の比較関数へのポインターを指定して独自の並べ替えを適用するにはどうすればよいですか。
ドキュメントとオンラインフォーラムは役に立ちませんでした。よく隠されていない限り、並べ替え方法やプロパティなどはないようです。
これは主にLinuxアプリですが、Macでも動作します。(私はMacについて何も知りません。)
ソースコードのジューシーな部分は次のとおりです。
QtFileDialog chooser(parent, caption, directory, filter);
/// QtFileDialog is our class derived from QFileDialog
chooser.setModal(true);
chooser.setAcceptMode(acceptMode);
chooser.setFileMode(fileMode);
QStringList hist = chooser.history();
chooser.setHistory(hist);
/* point "x" */
if(chooser.exec()) {
QStringList files = chooser.selectedFiles();
...blah blah blah...
答えの1つから、私は邪悪な実験を試み、「ポイントx」にこの情報不足の当て推量コードを追加しました。
QSortFilterProxyModel *sorter = new QSortFilterProxyModel();
sorter->sort(1); // ???
chooser.setProxyModel(sorter);
しかし、これは、このレベルのコードから約33のサブルーチン呼び出しの時点で見事にクラッシュしました。Qt4のドキュメントとサンプルコードを読んだ後でも、QSortFilterProxyModelの適切な使用法がわからないことは認めます。