QFileDialog默认为AppData?

时间:2014-01-13 09:54:36

标签: c++ qt directory appdata qfiledialog

在我的程序中,我有一个按钮,打开一个getOpenFileName对话框,如下所示:

path = QFileDialog::getOpenFileName(this, tr("Select region"), "%APPDATA%", tr("region file"));

我希望对话框默认为用户AppData文件夹。所有用户都在运行Windows(XP或更高版本)。我如何确保默认为AppData?

感谢。 :)

1 个答案:

答案 0 :(得分:5)

您可以使用QDesktopServices静态方法(Qt4):

QString path = QDesktopServices::storageLocation(QDesktopServices::DataLocation);

在Qt5中:

QString path = QStandardPaths::standardLocations(QStandardPaths::DataLocation).at(0);

获取漫游文件夹:

QSettings settings(QSettings::IniFormat, QSettings::UserScope, "AppName", "application");
QString location = QFileInfo(settings.fileName()).absolutePath() + "/";

在我的案例中,路径是:

  

C:/Users/maxim.makhun/AppData/Roaming/AppName /