Qt QSettings пытается создать ini-файл, но никто не создал почему? - PullRequest
5 голосов
/ 03 апреля 2011

Я пытаюсь создать INI-файл, который будет содержать мои данные конфигурации, у меня есть класс синглетона, который устанавливает объект QSettings следующим образом:

... #DEFINE CONFIG_FILE_NAME "myconfig.ini"

m_pSettings = new QSettings(QDir::currentPath()+"/"+CONFIG_FILE_NAME,QSettings::IniFormat);

это соответствует документу, но когда я смотрюв моем приложении dir файл myconfig.ini не создан, что я делаю не так?

Ответы [ 2 ]

13 голосов
/ 03 апреля 2011

Я полагаю, что для того, чтобы заставить файл QSettings появляться, вам нужно установить в нем хотя бы одно значение, а затем вызвать метод sync () .Посмотрите, подойдет ли вам приведенный ниже пример:

QSettings* settings = new QSettings(QDir::currentPath() + "/my_config_file.ini", QSettings::IniFormat);
settings->setValue("test", "value");
settings->sync();

надеюсь, это поможет, с уважением

0 голосов
/ 03 апреля 2011

Не думаю, что "/" + CONFIG_FILE_NAME вернут ожидаемый результат.Может быть причиной вашей проблемы. В любом случае оператор + () присутствует в классе QString, поэтому QDir :: currentPath () + "/my_config_file.ini" должен работать нормально.

...