Seite 1 von 1

QSetting beginGroup macht ein % Zeichen for die Section

Verfasst: 25. Juni 2008 12:27
von Nippler
In meinem Programm lese und schreibe ich ini files. Wenn ich nun etwas in eine ini schreib unter einer Section die es noch nicht gibt, mache ich das folgendermassen:

QSettings settings(iniFile, QSettings::IniFormat);
settings.beginGroup("GENERAL");
settings.setValue("ActiveJob",123);

Dies funktioniert auch perfekt, d.h. die Section wird erstellt und das Value angelegt. Nur sieht das ganze dann so aus:

[%General]
ActiveJob=123

Das heisst vor dem eigentlichen Section Name steht ein %. Das möchte ich aber nicht. Ich weiss, dass das auslesen mit

settings.beginGroup("GENERAL");
settings.value("ActiveJob",0).toInt();

funktioniert. Aber dieses Zeichen ist für einen Benutzer verwirrend.

Kann ich das irgendwie umgehen?

Verfasst: 25. Juni 2008 12:37
von Sephral
Hallo,
ich vermute das hängt damit zusammen, dass QSettings automatisch eine "General"-Sektion erzeugt, wenn man KEINE Gruppe angiebt. Ist also soetwas wie ein reserviertes Wort für QSettings.

Lass einfach mal das beginGroup() weg und schreibe direkt..

Code: Alles auswählen

settings.setValue("ActiveJob",123); 
Alternativ kannst du auch mal sowas versuchen..

Code: Alles auswählen

settings.setValue("GENERAL/ActiveJob",123); 

Ciao,
Sephral

Super. funktioniert.

Verfasst: 25. Juni 2008 13:24
von Nippler
Ohne das beginGroup funktioniert es. Super, danke!

Die zweite Methode funktioniert jedoch nicht!