Pergunta

In my program, I have a button that opens a getOpenFileName dialog like this:

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

I want the dialog to default to the users AppData folder. All users are running Windows (XP or higher). How could I ensure it defaults to AppData?

Foi útil?

Solução

You can use QDesktopServices static method (Qt4):

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

In Qt5:

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

To get Roaming folder:

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

In my case path was:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top