1

Mac OS-X では、通常、ディレクトリ ダイアログが表示され、キーボードでパスを入力することはできません。これは、OS-X で Qt アプリケーションをビルドするときのデフォルトの動作のようです。

パスを手動で入力するように指定するにはどうすればよいですか?

4

2 に答える 2

4

QFileDialog の静的メソッドで得られたネイティブ ダイアログを使用することをお勧めします。Apple からの新しいサンドボックス要件により、アプリケーションの標準ダイアログを使用してファイル システムにアクセスする必要があります。興味深いことに、サンドボックス化されたアプリケーションでユーザーに提供される実際のダイアログは、Powerbox と呼ばれるものです。詳細については、NSPanel のドキュメントを参照してください

また、elmigranto が Mac のすべてのファイル ダイアログで指摘したように、コマンド + シフト + g を押して移動先のパスを入力できます。

注: 新しい Qt バージョンでは、QFileDialog で静的関数を使用すると、PowerBox も通過するネイティブ ダイアログが得られるように、これを修正したことがドキュメントに示されています。私自身は試していませんが、この問題に関するバグはQt 5.5.0 および 5.6.0 に対して未解決のままです。ただし、QFileDialog をオーバーライドしてもネイティブ ダイアログは表示されません。カスタマイズされたダイアログが必要な場合は、NSSavePanel ルートを使用することをお勧めします。

于 2014-02-24T06:21:37.957 に答える
2

QFileDialogなどの の静的関数を使用するとgetExistingDirectory()getOpenFileName()ネイティブの OS X ファイル ダイアログが表示されます。ただし、QFileDialog静的関数を使用せずに独自のものを作成する場合は、 を呼び出してユーザーがダイアログで選択する必要があるものを指定できる Qt ファイル ダイアログを取得する必要がありますsetFileMode()。Qtファイルダイアログでは、ユーザーがダイアログ内のパスを手動で変更できると思います。

もちろん、ユーザーに手動でディレクトリ パスを入力させたい場合は、単純なQInputDialog.

于 2013-02-16T17:19:04.680 に答える