Qt4.4, как получить пользовательский путь настроек

Возможным решением является директива vue v-click-outside .

По сути, вы просто устанавливаете его: npm install --save v-click-outside

И используете:


18
задан mavroprovato 16 November 2013 в 21:00
поделиться

6 ответов

Это не могло бы ответить на Ваш вопрос непосредственно: если Вы хотите хранить персистентные данные в расчете на пользователя, не были должны Вы использовать QDesktopServices:: storageLocation (QDesktopServices:: DataLocation) вместо этого?

20
ответ дан 30 November 2019 в 07:34
поделиться

Почему необходимо знать путь настроек? Если Вы собираетесь поместить настройки в него, Вы могли бы использовать QSettings. Я видел создание подкаталога для содержания различных настроек, но кажется, что самый легкий путь состоял бы в том, чтобы использовать QSettings непосредственно.

1
ответ дан 30 November 2019 в 07:34
поделиться

Насколько я могу сказать, Вы не можете получить путь. В спокойном источнике, src/corelib/io/qsettings.cpp, существует функция для получения пути:

static QString getPath(QSettings::Format format, QSettings::Scope scope)
{
    ...

но это не доступно из кода с помощью QT. Вы не можете скопировать его и использовать его также, потому что это использует внутренний QT globals для хранения пути...

Править: Решение было отправлено, с помощью QDesktopServices.storageLocation(QDesktopServices.DataLocation) но это не делает точно, что вопрос просил, т.е. если я установил пользовательское использование пути QSettings.setPath() это не отражает изменение.

1
ответ дан 30 November 2019 в 07:34
поделиться

В какой платформе Вы?
Мог бы быть связан или не, но в окнах, значение по умолчанию должно записать QSettings в реестр.

0
ответ дан 30 November 2019 в 07:34
поделиться

Я читал больше в вопрос, чем было, поскольку он был первоначально отправлен. Это более ясно после редактирований. Хорошо, так не можете Вы использовать..

QString QSettings::fileName () const

Возвращает путь, где настройки записаны в использование этого QSettings объект хранится.

В Windows, если формат QSettings::NativeFormat, возвращаемое значение является путем системного реестра, не путем к файлу.

0
ответ дан 30 November 2019 в 07:34
поделиться

Это неприятный обходной путь. Сначала вы создаете QSettings , затем получаете его местоположение.

QSettings cfg(QSettings::IniFormat, QSettings::UserScope,
       "organization", "application");

QString config_dir = QFileInfo(cfg.fileName()).absolutePath() + "/";

Кредиты отправляются на форум Qt Center.

QSettings сохраняет конфигурацию по умолчанию в пользовательском каталоге AppData. См. Документацию для QSettings . Также этот код предписывает сохранить конфигурацию в формате файла Ini.

8
ответ дан 30 November 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: