QFileDialog - 如何指定主目录

时间:2012-12-25 20:16:41

标签: qt qfiledialog

我尝试了以下操作来打开一个文件对话框,该对话框应显示用户主目录:

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

问题在于QFileDialog始终以启动应用程序的目录开头。我有什么想法吗?

BTW:我在Mac OS X上使用Qt 5。

2 个答案:

答案 0 :(得分:6)

在Mac OSX中,QDir::homePath()返回HOME环境变量的内容。因此,如果此变量为空,则返回空字符串。

确保未选中“清除系统环境”选项(在Qt Creator中的项目设置下的“构建环境”下)。当你选中这个框时,Qt基本上会覆盖你程序的每个环境变量的值,所以它看起来是空的。

答案 1 :(得分:2)

如前所述使用QDir::homePath()或考虑使用Qt5的QStandardPaths类。