2016-09-24 3 views
0

я использую QSettings для разбора INI-файл формата без группы, как этот:Дать ключ на верхнем уровне с QSettings

msg=45 
id=69 

До сих пор так хорошо, но когда я пытаюсь написать новый ключ, это выглядит следующим образом:

[General] 
new=100 
msg=45 
id=69 

Моя цель состоит в том, чтобы иметь что-то вроде этого:

msg=45 
id=69 
new=100 

Это мой код сюда письма:

QSettings settings(m_rcFile, QSettings::IniFormat); 
settings.setValue("new", num); 

Я знаю, что большинство INI-файлы имеют группу/ключ/значение, но так как QSetings может читать их без группы I, однако, что он может сделать то же самое для письма. Есть идеи?

ответ

0

Кажется, в соответствии с documentation, по крайней мере, о котором говорит

если вы сохраните настройки верхнего уровня (ключ без каких-либо косых черт в нем, например, «someKey»), он появится в INI файл «Общие».

Чуть ниже он говорит

Следуя философии, что мы должны быть либералом в том, что мы принимаем и консервативны в том, что мы создаем, QSettings будет [...]

, который, обращаясь к другой причуде, может объяснить, почему QSettings может читать значения из несектора, но отказывается писать там.

Нижняя строка заключается в том, что вам нужен другой подход (другая библиотека или низкоуровневый класс, например QFile/QTextStream), чтобы записать эти значения, если вы действительно не можете поместить их в раздел.

+0

Дело в том, что файл ini может иметь пользовательские значения. – Joel

Смежные вопросы