2017-02-14 3 views
0

QFileDialog:私はファイル名のqstringlistを構築するために以下のコードを使用しています選択するディレクトリとファイル

QStringList filenames = QFileDialog::getOpenFileNames(this,"",QDir::currentPath()); 

どのように私はこれを変更することができますので、私は同様のディレクトリを選択することができますか?

私が見て:

 dialog.setFileMode(QFileDialog::AnyFile); 

が、私は私のコードでそれを使用する方法を得ることはありません。

+0

私は[この](http://www.qtcentre.org/threads/43841-QFileDialog-to-select-files-AND-folders)をGoogleで検索し、見つかった、それは実用的なソリューションではありませんか? – Steeve

+0

ありがとう、これは動作します。 – Alan

答えて

0

上記のコメントにリンクされているこのコードスニペットは、私の問題を解決します。

QFileDialog* _f_dlg = new QFileDialog(this); 
    _f_dlg->setFileMode(QFileDialog::Directory); 
    _f_dlg->setOption(QFileDialog::DontUseNativeDialog, true); 

    // Try to select multiple files and directories at the same time in QFileDialog 
    QListView *l = _f_dlg->findChild<QListView*>("listView"); 
    if (l) { 
    l->setSelectionMode(QAbstractItemView::MultiSelection); 
    } 
    QTreeView *t = _f_dlg->findChild<QTreeView*>(); 
    if (t) { 
    t->setSelectionMode(QAbstractItemView::MultiSelection); 
    } 

    int nMode = _f_dlg->exec(); 
    QStringList _fnames = _f_dlg->selectedFiles(); 
関連する問題