J'utilise QSettings
pour stocker des données sous forme de fichier ini dans Windows ..__ Je veux voir le fichier ini, mais je ne sais pas quel est l'emplacement du fichier ini.
Ceci est mon code:
QSettings *set = new QSettings(QSettings::IniFormat, QSettings::UserScope, "bbb", "aaa");
set->setValue("size", size());
set->setValue("pos", pos());
Où dois-je regarder? Ou peut-être me manque-t-il le code qui l'écrit dans le fichier? Quand la QSettings
écrit-elle ses valeurs?
Pour imprimer l'emplacement exact de votre fichier de paramètres, utilisez la méthode méthode fileName de la classe QSettings.
QSettings settings("folderName", "fileName");
qDebug() << settings.fileName();
La sortie de la console ressemble alors à:
/home/user/.config/folderName/fileName.conf
Je pense que vous trouverez tout ce que vous cherchez ici: http://doc.qt.io/archives/qt-4.7/qsettings.html
C'est spécifique à la plateforme, voir ci-dessous:
Remarques spécifiques à la plate-forme Emplacements où les paramètres d'application sont stockés
Vous pouvez également stocker les paramètres dans des fichiers:
QSettings settings("/home/petra/misc/myapp.ini",
QSettings::IniFormat);
QSettings
enregistrer les modifications d’emplacement dans QSettings.Scope
enum . QSettings
enregistrer dans l'étendue locale par défaut. Sous Linux, j'ai trouvé mes paramètres locaux dans:
~/.config/CompanyName/ApplicationName.conf
Découvrez la classe QStandardPaths
, elle est reliée à plusieurs chemins standard, y compris la configuration sur toutes les plateformes prises en charge. https://doc.qt.io/qt-5/qstandardpaths.html
QT> = 5.5:
QString path = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
QT <5.5:
QString path = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
Il existe des chemins pour les fichiers de configuration dans les répertoires de configuration partagés, les répertoires de données d'application, etc.
Si vous créez une QSettings
sans indiquer de chemin spécifique, le fichier ini
sera situé dans le chemin application .
QSettings Settings("myapp.ini", QSettings::IniFormat);
Settings.setValue("Test", "data");
//...
qDebug() << QApplication::applicationDirPath();
Attention, le chemin de l'application peut changer: par exemple, si vous développez votre application avec Qt Creator, en mode débogage, le chemin de l'application se trouve dans le sous-dossier /debug
.
Si vous l'exécutez en mode de publication, le chemin de l'application se trouve dans le sous-dossier /release
.
Et lorsque votre application est déployée, par défaut, le chemin de l'application se trouve dans le même dossier que l'exécutable (au moins pour Windows).
Sur Mac OSX, j'ai trouvé le fichier sous ~/Library/Preferences
La classe QSettings fournit des paramètres d'application persistants, indépendants de la plate-forme . Les utilisateurs attendent normalement d’une application qu’elle mémorise ses paramètres (taille et positions des fenêtres, options, etc.) d’une session à l’autre. Ces informations sont souvent stockées dans le registre système sous Windows et dans des fichiers de préférences XML sous Mac OS X. Sur les systèmes Unix, en l'absence de norme, de nombreuses applications (y compris les applications KDE) utilisent des fichiers texte INI