Mac OS-X では、通常、ディレクトリ ダイアログが表示され、キーボードでパスを入力することはできません。これは、OS-X で Qt アプリケーションをビルドするときのデフォルトの動作のようです。
パスを手動で入力するように指定するにはどうすればよいですか?
Mac OS-X では、通常、ディレクトリ ダイアログが表示され、キーボードでパスを入力することはできません。これは、OS-X で Qt アプリケーションをビルドするときのデフォルトの動作のようです。
パスを手動で入力するように指定するにはどうすればよいですか?
QFileDialog の静的メソッドで得られたネイティブ ダイアログを使用することをお勧めします。Apple からの新しいサンドボックス要件により、アプリケーションの標準ダイアログを使用してファイル システムにアクセスする必要があります。興味深いことに、サンドボックス化されたアプリケーションでユーザーに提供される実際のダイアログは、Powerbox と呼ばれるものです。詳細については、NSPanel のドキュメントを参照してください。
また、elmigranto が Mac のすべてのファイル ダイアログで指摘したように、コマンド + シフト + g を押して移動先のパスを入力できます。
注: 新しい Qt バージョンでは、QFileDialog で静的関数を使用すると、PowerBox も通過するネイティブ ダイアログが得られるように、これを修正したことがドキュメントに示されています。私自身は試していませんが、この問題に関するバグはQt 5.5.0 および 5.6.0 に対して未解決のままです。ただし、QFileDialog をオーバーライドしてもネイティブ ダイアログは表示されません。カスタマイズされたダイアログが必要な場合は、NSSavePanel ルートを使用することをお勧めします。
QFileDialog
などの の静的関数を使用するとgetExistingDirectory()
、getOpenFileName()
ネイティブの OS X ファイル ダイアログが表示されます。ただし、QFileDialog
静的関数を使用せずに独自のものを作成する場合は、 を呼び出してユーザーがダイアログで選択する必要があるものを指定できる Qt ファイル ダイアログを取得する必要がありますsetFileMode()
。Qtファイルダイアログでは、ユーザーがダイアログ内のパスを手動で変更できると思います。
もちろん、ユーザーに手動でディレクトリ パスを入力させたい場合は、単純なQInputDialog
.