2016-06-16 7 views
0

QTreeViewに表示されているファイルのいくつかのQStringListをツリーとして簡単に作成する方法はありますか? もちろん、すべてのパスを "/"で分割し、QStandardItemModelのappendRowのようなものを実行して結果を得ることができます。しかし、私は単純な方法が必要だと思う。QTreeViewのファイルリストをツリーとして表示

"dir/subdir/file.dat", 
"dir/app.exe", 
"other_dir/file2.dat" 

結果は、このようなQTreeViewでなければなりません:たとえば 、我々はこのようなファイル(QStringList)のリストを持っている

enter image description here

答えて

0

一部QStringListを作るための簡単な方法があります QTreeViewをツリーとして表示していますか?

データが提案よりもQStringListことを暗示されている場合は、TreeItemベースのデータに変換し、Qtのドキュメントの例"Simple Tree Model Example"を使用することです。あなたはそれのために何らかの形で木のような構造を作るのを避けることはできません。その例をQt Creatorまたはそのディレクトリで探し、TreeModelクラス定義/実装を探します。

データがQStringListや他の形式のメモリ内コレクションではなく、実際のファイルシステムからのものである場合は、もちろんそれは非常に実行可能です。必要なのはQFileSystemModelとQTreeViewだけです。可能性のある類似の例の1つhere

はあなたが必要とする最低限のUIを作成し、そのようなモデルのフィルターを使用します。

auto* dirModel = new QFileSystemModel(this); 
dirModel->setFilter(QDir::NoDotAndDotDot | 
        QDir::Files | QDir::Dirs); 

を...またはあなたが必要な場合は、自分自身をフィルタリングし、より良い指定することもできます。

+0

ありがとう、とにかく私は木構造を作る必要があります)あなたのリンクと例を学びたい – Rinat

+0

ファイルリストはzipファイル(QuaZip)からです。だから私はエクスプローラのようなツリービューでそれらを表示しようとしています – Rinat

+0

はい、あなたはそれを使って少しのデータ構造を持っています。 – AlexanderVX

関連する問題