Seite 1 von 1

[gelöst] Alle Werte einer Gruppe im inifile anzeigen

Verfasst: 19. Juni 2007 22:57
von Linuxguru
Hallo,

ich versuche alle werte einer inidatei in ein listwidget zu schreiben.

dazu hab ich folgendes versucht

Code: Alles auswählen

	QSettings settings("ftp.ini", QSettings::IniFormat);
	for (int i = 0; i < settings.beginReadArray("groups"); ++i)
	{
		settings.setArrayIndex(i);
		ftpList->addItem( settings.value(QString::number(i)).toString() );
	}
	settings.endArray();
hab ich das falsch verstanden mit dem readarray, oder ist grundlegend was falsch?

danke

Verfasst: 20. Juni 2007 07:23
von macman
Das ist grundlegend falsch. ReadArray und writeArray sind dazu da ein Array in die Settings zu schreiben und wieder zu lesen. Wenn Du an alle Werte deiner Settings kommen willst, dann brauchst Du childGroups() und childKeys().

Verfasst: 20. Juni 2007 19:38
von Linuxguru
hallo macman,

danke für deine antwort.

ich hab das problem gestern noch lösen können, aber es war so spät, das ich keine lust mehr hatte noch ein beitrag zu setzen

meine lösung sieht jetzt so aus:

Code: Alles auswählen

	QSettings settings("ftp.ini", QSettings::IniFormat);
	settings.beginReadArray("groups");
	QStringList keys = settings.allKeys();

	for(int i = 0; i < keys.size(); i++)
	{
		QString key = keys.at(i);
		ftpList->addItem(settings.value(key).toString());
	} 
evtl könntest du mir noch mitteilen, wie deine version mit childgroups aussehen würde und welches mehr sinn macht.


dank dir

Verfasst: 20. Juni 2007 22:15
von Burgpflanze
Dann solltest du das aber auch mit

Code: Alles auswählen

settings.endArray()
abschließen.

Verfasst: 21. Juni 2007 07:38
von macman
Linuxguru hat geschrieben:evtl könntest du mir noch mitteilen, wie deine version mit childgroups aussehen würde und welches mehr sinn macht.
Dazu müsste ich erst eine schreiben, aber da Du das Problem gelöst hast, kann ich meine Zeit mit Sinnvollerem verbringen :-)