Возможным решением является директива vue v-click-outside .
По сути, вы просто устанавливаете его: npm install --save v-click-outside
И используете:
Это не могло бы ответить на Ваш вопрос непосредственно: если Вы хотите хранить персистентные данные в расчете на пользователя, не были должны Вы использовать QDesktopServices:: storageLocation (QDesktopServices:: DataLocation) вместо этого?
Почему необходимо знать путь настроек? Если Вы собираетесь поместить настройки в него, Вы могли бы использовать QSettings
. Я видел создание подкаталога для содержания различных настроек, но кажется, что самый легкий путь состоял бы в том, чтобы использовать QSettings
непосредственно.
Насколько я могу сказать, Вы не можете получить путь. В спокойном источнике, src/corelib/io/qsettings.cpp
, существует функция для получения пути:
static QString getPath(QSettings::Format format, QSettings::Scope scope)
{
...
но это не доступно из кода с помощью QT. Вы не можете скопировать его и использовать его также, потому что это использует внутренний QT globals для хранения пути...
Править: Решение было отправлено, с помощью QDesktopServices.storageLocation(QDesktopServices.DataLocation)
но это не делает точно, что вопрос просил, т.е. если я установил пользовательское использование пути QSettings.setPath()
это не отражает изменение.
В какой платформе Вы?
Мог бы быть связан или не, но в окнах, значение по умолчанию должно записать QSettings в реестр.
Я читал больше в вопрос, чем было, поскольку он был первоначально отправлен. Это более ясно после редактирований. Хорошо, так не можете Вы использовать..
QString QSettings::fileName () const
Возвращает путь, где настройки записаны в использование этого QSettings
объект хранится.
В Windows, если формат QSettings::NativeFormat
, возвращаемое значение является путем системного реестра, не путем к файлу.
Это неприятный обходной путь. Сначала вы создаете QSettings
, затем получаете его местоположение.
QSettings cfg(QSettings::IniFormat, QSettings::UserScope,
"organization", "application");
QString config_dir = QFileInfo(cfg.fileName()).absolutePath() + "/";
Кредиты отправляются на форум Qt Center.
QSettings
сохраняет конфигурацию по умолчанию в пользовательском каталоге AppData. См. Документацию для QSettings
. Также этот код предписывает сохранить конфигурацию в формате файла Ini.