Russian Qt Forum

Qt => Общие вопросы => Тема начата: admsasha от Июль 05, 2019, 05:36



Название: Путь в QSettings
Отправлено: admsasha от Июль 05, 2019, 05:36
Как правильно создать класс QSettings, чтобы в windows конфиг сохранялся c:\Users\user\AppData\Roaming\myOrg\myProg.ini а в linux ~/.config/myOrg/myProg.ini

Я думал, это делается так
Код:
    confSettings = new QSettings(QSettings::IniFormat, QSettings::UserScope, QApplication::organizationName(), QApplication::applicationName());

Но нет, конфиг создается в рабочем каталоге проекта.

Вопрос подразумевает, возможно ли это сделать без ручного указания путей ?


Название: Re: Путь в QSettings
Отправлено: qate от Июль 05, 2019, 13:02
https://doc.qt.io/qt-5/qsettings.html#QSettings

new QSettings("mysite.ru", "myprog", this);


Название: Re: Путь в QSettings
Отправлено: admsasha от Июль 08, 2019, 03:21
Код:
    QSettings settings("Moose Tech", "Facturo-Pro");
    qDebug() << settings.fileName();
Код:
"\\HKEY_CURRENT_USER\\Software\\Moose Tech\\Facturo-Pro"

Как видно из вывода, запись идет в реестр, а мне надо в файл.


Название: Re: Путь в QSettings
Отправлено: AlexEx от Июль 09, 2019, 11:49
Использовать флаг QSettings::IniFormat, что-то вроде этого:
new QSettings( strSettingsPath, QSettings::IniFormat, this );


Название: Re: Путь в QSettings
Отправлено: admsasha от Июль 10, 2019, 03:14
Использовать флаг QSettings::IniFormat, что-то вроде этого:
new QSettings( strSettingsPath, QSettings::IniFormat, this );
strSettingsPath - Это путь, который я должен указать. Как мне указать путь  чтобы в windows конфиг сохранялся c:\Users\user\AppData\Roaming\myOrg\myProg.ini а в linux ~/.config/myOrg/myProg.ini ? т.е. пути умолчательные для каждой системы. Естественно не прописывая всё это вручную. Мой вопрос изначально в этом заключался.


Название: Re: Путь в QSettings
Отправлено: zhbr от Июль 10, 2019, 06:09
отнаследуйтесь от QSettings и сделайте так как вам надо


Название: Re: Путь в QSettings
Отправлено: ssoft от Июль 10, 2019, 07:40
Есть такой класс QStandardPaths, там найдете все пути.


Название: Re: Путь в QSettings
Отправлено: admsasha от Июль 10, 2019, 11:19
Есть такой класс QStandardPaths, там найдете все пути.
Спасибо. Это уже лучше.