QSettingsのxml形式出力について
-
表題の件で、質問させて頂きます。
Qt経験はありますが、ブランクが2年あったため、感覚が掴めておりません。
申し訳ありませんが、ご教示ください。
※ubuntu 14.04を使用しています。@bool writeSettingsXml(QIODevice &device, const QMap<QString, QVariant> &map)
{
QXmlStreamWriter xmlWriter(&device);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("Settings");QStringList prev_elements; QSettings::SettingsMap::ConstIterator map_i; // Alle Elemente der Map durchlaufen for (map_i = map.begin(); map_i != map.end(); map_i++) { QStringList elements = map_i.key().split("/"); int x = 0; // Zu schließende Elemente ermitteln while(x < prev_elements.size() && elements.at(x) == prev_elements.at(x)) { x++; } // Elemente schließen for(int i = prev_elements.size() - 1; i >= x; i--) { xmlWriter.writeEndElement(); } // Elemente öffnen for (int i = x; i < elements.size(); i++) { xmlWriter.writeStartElement(elements.at(i)); } // Wert eintragen xmlWriter.writeCharacters(map_i.value().toString()); prev_elements = elements; } // Noch offene Elemente schließen for(int i = 0; i < prev_elements.size(); i++) { xmlWriter.writeEndElement(); } xmlWriter.writeEndElement(); xmlWriter.writeEndDocument(); return true;
}
void main()
{
const QSettings::Format XmlFormat = QSettings::registerFormat("xml", &readSettingsXml, &writeSettingsXml);
QSettings xml(XmlFormat, QSettings::UserScope, "organization", "application");xml.setValue("Place/Latitude", ui->lineLatitude->text().toFloat()); xml.setValue("Place/Latitude", ui->lineLongitude->text().toFloat());
}
@
上記のように処理をしたところ、writeSettingsXml関数内はXML形式に正常出力させているようですが、
実際のファイルが見当たりません。
正常に書けなかった場合でも、0バイトのファイルぐらいはあってもおかしくない気がするのですが、
なぜ書かれないのでしょうか?