3

ユーザーのホームディレクトリを表示するファイルダイアログを開くために、次のことを試しました。

QString fileName = QFileDialog::getOpenFileName(this,
                   tr("Select database"), QDir::homePath(), 
                   tr("Database Files (*.db *.sqlite)"));

問題は、QFileDialog が常にアプリケーションが開始されたディレクトリから開始されることです。私が間違っていることは何ですか?

ところで: Mac OS X で Qt 5 を使用しています。

4

2 に答える 2

7

Mac OSX ではQDir::homePath()、HOME 環境変数の内容を返します。したがって、この変数が空の場合、空の文字列が返されます。

[システム環境のクリア] オプション (Qt Creator のプロジェクト設定の [ビルド環境] の下) がチェックされていないことを確認します。このボックスをチェックすると、Qt は基本的にプログラムのすべての環境変数の値を上書きするため、空のように見えます。

于 2012-12-25T20:31:59.040 に答える
3

QDir::homePath()以前に提案されたように使用するか、Qt5 のQStandardPathsクラスの使用を検討してください。

于 2012-12-25T21:01:44.410 に答える