小澤と申します。
初めて投稿します。

表題の件で、質問させて頂きます。
Qt経験はありますが、ブランクが2年あったため、感覚が掴めておりません。
申し訳ありませんが、ご教示ください。

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;
}

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バイトのファイルぐらいはあってもおかしくない気がするのですが、
なぜ書かれないのでしょうか?


以上、よろしくお願いします。