2017-11-21 17 views
0

私は自分の英語を前もってお詫びします。私はQTableViewQFileSystemModelを私の単純な2パネルのファイルマネージャーでモデル化しました。それはファイルとディレクトリを正しく表示しますが、現在のディレクトリの親に移動するためにDotDot行を表示する必要があります。 QFileSystemModel::filter(QDir::AllEntries | QDir::NoDot)の設定は役に立ちませんが、DotDotはまだQTableViewに表示されません。上記のすべては、Windows 7のQt 5.9.1に当てはまります。しかし、私がUbuntuでアプリケーションをビルドすると、DotDotが正しく表示され、QFileSystemModel::filter()は引数によって完全に機能します。私はWindows 7上で動作させることができますか、それともバグですか? は、ここに私のコードのサンプルを簡略化されています:QFileSystemModelを使用してQTableViewでDotDotパスを表示するには?

QTableView *tableView = new QTableView; 
    QFileSystemModel *fsModel = new QFileSystemModel; 
    fsModel->setRootPath(QDir::rootPath()); 
    fsModel->setFilter(QDir::AllEntries | QDir::NoDot); 
    tableView->setModel(fsModel); 
    QObject::connect(tableView, &QTableView::doubleClicked, tableView, &QTableView::setRootIndex); 
    tableView->show(); 
+0

おそらく、少しのコードを投稿することから始めましょう。) –

+0

ああ、申し訳ありません:)元の質問にコードを追加しました。 –

答えて

0

がQFileSystemModelから継承された独自のクラスを作成します。仮想メソッドrowCount()とdata()を再定義します。 これは単純な方法ではなく、そのモデルで表示されるコンテンツについての適切な制御を可能にします。もちろん、DotとDotDot(さらにはDotDotDotDot:))ディレクトリを追加することもできます。

関連する問題