QTreeViewとQFileSystemModelを使用して特定のフォルダをフィルタリングする際に問題があります。QTreeViewとQFileSystemModelを使用して特定のファイルのフォルダのみを表示するにはどうすればいいですか?
ルートQFileSystemModelを特定のフォルダに設定しました。これは機能します。しかし、私は.jpg
ファイルを含むフォルダだけを表示したい。これは可能ですか?
Iフィルタ.jpg
ファイルで動作しますが、QTreeViewにはすべてのフォルダが表示されます。.jpg
ファイルがないフォルダも表示されます。したがって、ユーザが.jpg
ファイルなしでフォルダを開こうとすると、何も起こりません。
これらのフォルダを非表示にするにはどうすればよいですか?
注:以下にコードの一部があります。
QStringList filterTypeFile;
filterTypeFile.append("*.jpg");
this->m_pModelTreeViewImage->setNameFilters(filterTypeFile);
this->m_pModelTreeViewImage->setNameFilterDisables(false);
this->ui->treeViewImages->setModel(this->m_pModelTreeViewImage);
ありがとう@Xavier Holt!私はあなたの答えについてすべてを理解し、本当に理にかなっています。 QFileSystemModel :: setFilter()のQtドキュメントでは、**あなたが設定したフィルタは常にQDir :: AllDirs列挙値を含んでいなければならないことに注意してください。 QFileSystemModelはディレクトリ構造を読み取ることができません。 本当にこの動作を実装する必要があるかどうかを調べます。とにかく、ありがとう! –
まあ、私は自分のQTreeViewを実装しようとしています。 QTreeViewで最初のQModelIndexを選択する方法がわからないので問題があります。注:私はQFileSytemModelを使用しています。 –
@AdrianoLeal - 私はQtのMVCを接線で使用していたので、これは単なる推測ですが、QFileSystemModelではなく、 "構造"関連のすべての情報(「最初の」モデルインデックスを含む)を取得しようとします。景色。 Qtビューは実際にはUI操作を処理するように設計されていますが、組織はモデル自体で処理されるようです。 –