qt ini qsettings

qt - QSettings: ¿dónde está la ubicación del archivo ini?



(6)

Estoy usando QSettings para almacenar algunos datos como archivo ini en Windows. Quiero ver el archivo ini, pero no sé cuál es la ubicación del archivo ini.

Este es mi código:

QSettings *set = new QSettings(QSettings::IniFormat, QSettings::UserScope, "bbb", "aaa"); set->setValue("size", size()); set->setValue("pos", pos());

¿Dónde debo mirar? ¿O puedo perder el código que lo escribe en el archivo? ¿ QSettings escribe QSettings sus valores?


Consulte la clase QStandardPaths , que enlaza con varias rutas estándar, incluida la configuración en todas las plataformas compatibles. 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);

Hay rutas para archivos de configuración en directorios de configuración compartida, directorios de datos de aplicaciones y más.


Creo que encontrarás todo lo que estás buscando aquí: http://doc.qt.io/archives/qt-4.7/qsettings.html

Es específico de la placa, ver debajo:

Ubicaciones de las notas específicas de la plataforma donde se almacenan las configuraciones de la aplicación

También puede almacenar configuraciones en archivos:

QSettings settings("/home/petra/misc/myapp.ini", QSettings::IniFormat);


En Mac OSX, encontré el archivo en ~ / Library / Preferences

La clase QSettings proporciona configuraciones persistentes de aplicaciones independientes de la plataforma. Los usuarios normalmente esperan que una aplicación recuerde su configuración (tamaños de ventana y posiciones, opciones, etc.) en todas las sesiones. Esta información a menudo se almacena en el registro del sistema en Windows y en los archivos de preferencias XML en Mac OS X. En los sistemas Unix, en ausencia de un estándar, muchas aplicaciones (incluidas las aplicaciones de KDE) utilizan archivos de texto INI.

http://doc.qt.io/archives/qt-4.7/qsettings.html


Para imprimir la ubicación exacta de su archivo de configuración, use el método método fileName de la clase QSettings.

QSettings settings("folderName", "fileName"); qDebug() << settings.fileName();

La salida de la consola se ve así:

/home/user/.config/folderName/fileName.conf


Si crea un QSettings sin dar ninguna ruta específica, el archivo ini se ubicará en la ruta de la aplicación .

QSettings Settings("myapp.ini", QSettings::IniFormat); Settings.setValue("Test", "data"); //... qDebug() << QApplication::applicationDirPath();

Tenga cuidado: la ruta de la aplicación puede cambiar: por ejemplo, si está desarrollando su aplicación con Qt Creator, en modo de depuración, la ruta de la aplicación se encuentra en la subcarpeta /debug .

Si lo está ejecutando en modo de lanzamiento, la ruta de la aplicación se encuentra en la subcarpeta /release .

Y cuando se implementa su aplicación, de manera predeterminada, la ruta de la aplicación está en la misma carpeta que el ejecutable (al menos para Windows).


QSettings guarda la ubicación cambia a QSettings.Scope enum . QSettings guarda en el alcance Local de manera predeterminada. En Linux, encontré mi configuración local en:

~/.config/CompanyName/ApplicationName.conf