[Qt-users:367] QSettingsのxml形式出力について

小澤和広 kazuhiro.ozawa @ gmail.com
2014年 12月 10日 (水) 19:00:00 JST


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

表題の件で、質問させて頂きます。
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バイトのファイルぐらいはあってもおかしくない気がするのですが、

なぜ書かれないのでしょうか?



以上、よろしくお願いします。
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://qt-users.jp/pipermail/qt-users/attachments/20141210/985bd79a/attachment-0001.html>


Qt-users メーリングリストの案内