Какой стандартный подход для настройки в консольных приложениях Qt?

В .Net у вас обычно есть файл app.config и встроенные способы доступа к конфигурации.

Есть ли эквивалентный стандартный подход к конфигурации с использованием Qt?

Например, предположим, что мое приложение подключается к онлайн-серверу, я хочу иметь возможность хранить сведения о соединении (определяется пользователем).

Является ли это случаем «накатить свое», или есть способ сохранить и прочитать эти конфигурации, используя XML, или любой другой формат с простыми методами чтения / записи, предоставляемыми Qt?

Изменить: чтобы добавить некоторые сложности к вопросу. Это консольное приложение для Linux, поэтому, пожалуйста, обратите внимание на файл и прозрачную конфигурацию.

2

Решение

Вы могли бы использовать QSettings за это. Пожалуйста, обратитесь к документации для деталей:

http://qt-project.org/doc/qt-5.1/qtcore/qsettings.html

Вы всегда можете использовать и другие форматы, такие как XML, Json и т. Д., Но, вообще говоря, QSettings — это способ, или если вы пишете приложение KDE, то, вероятно, KConfig,

Это два важных метода, которые вы должны знать при работе с QSettings для чтения и записи:

чтение

QVariant QSettings::value(const QString & key,
const QVariant & defaultValue = QVariant()) const

Пишу

void QSettings::setValue(const QString & key, const QVariant & value)

Затем вы можете просто придерживаться нативного формата (или даже ini в вашем Linux, если хотите):

QSettings :: NativeFormat 0 Сохраните настройки, используя наиболее
соответствующий формат хранения для платформы. В Windows это означает
системный реестр; в Mac OS X это означает API CFPreferences; на
Unix, это означает текстовые файлы конфигурации в формате INI.

Здесь вы можете найти пример для вашего удобства:

#include <QSettings>

int main()
{
....

QSettings settings("Foo", "Bar");

// settings.beginGroup("application");
QString string = settings.value("foo", "bar");
// settings.endGroup();

....

}

Обратите внимание, что группы являются необязательными, и это зависит от вашей конкретной цели. Вы можете группировать настройки таким образом, чтобы сохранить некоторые из них.

Это также может быть важно для вас знать в соответствии с документацией:

В системах Unix, если формат файла — NativeFormat, по умолчанию используются следующие файлы:

  • $ HOME / .config / MySoft / Star Runner.conf (Qt для встраиваемых Linux-систем: $ HOME / Settings / MySoft / Star Runner.conf)

  • $ HOME / .config / MySoft.conf (Qt для встраиваемых Linux-систем: $ HOME / Settings / MySoft.conf)

  • / etc / xdg / MySoft / Star Runner.conf

  • /etc/xdg/MySoft.conf

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]