2

QFileDialog でフォルダーを選択するようにユーザーに要求しています。

QString directory = QFileDialog::getExistingDirectory(this,"Caption","",
                    QFileDialog::ShowDirsOnly);

ユーザーがすべてのフォルダーを選択できるようにしたいのですが、QFileDialog で C:/Windows/System32/spool/ が見つからず、他にもあるのではないかと思います。

隠しファイルを表示するためにフラグを設定しようとしQFileDialog::HideNameFilterDetailsましたが、これではうまくいきません。

この問題の解決策はありますか?

C:/Windows/System 32/spool が QFileDialog に存在しません

ここに画像の説明を入力

4

2 に答える 2

0

その静的関数を使用してすべてのフォルダーを表示することはできません。QFileDialog は舞台裏で追加のフィルタリングを行っており、静的関数 getExistingDirectory を使用してこのフィルタリングをオフにすることはできません。

次の方法で、非表示のフォルダーを含むすべてのフォルダーを表示できます。

QFileDialog fd;
fd.setFilter(QDir::Hidden);
fd.setFileMode(QFileDialog::Directory);
fd.exec();
QString directory = fd.directory().path();
于 2014-03-28T12:48:14.717 に答える