C++ (Qt)file->resize(0);builder->save(file, formWidget);
bool DocForm::setXMLProperty(QString widgetName, QString propertyName, QString value) { QDomNodeList nodelist = xmlDoc->elementsByTagName("widget"); QDomElement elem; // здесь будет сохранен нужный нам узел for (int i =0; i != nodelist.count(); i++) { elem = nodelist.item(i).toElement(); if (elem.attribute("name") == widgetName) { QDomNode node = getNode(nodelist.item(i), propertyName); qDebug() << node.nodeName(); if (!node.isNull()) { node.firstChild().setNodeValue(value); return true; } else return false; } }}QDomNode DocForm::getNode(QDomNode node, QString nodeName) { if (node.nodeName() == nodeName) return node; QDomNode tmp; tmp.clear(); if (node.hasChildNodes()) { for(QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) { if (n.isText()) continue; if (n.nodeName() == nodeName) { return n; } if (n.hasChildNodes()) { tmp = getNode(n,nodeName); if (!tmp.isNull()) break; } } } return tmp;}//вот так их использую setXMLProperty("tableWidget","x","100"); setXMLProperty("tableWidget","y","600");//вот так произвожу сохранение QFile file("c:\outfile.ui"); file.open(QIODevice::WriteOnly); QTextStream stream(&file1); xmlDoc->save(stream, 5, QDomNode::EncodingFromTextStream); file.close();
QString().isNull(); // возвращает trueQString().isEmpty(); // возвращает trueQString("").isNull(); // возвращает falseQString("").isEmpty(); // возвращает trueQString("abc").isNull(); // возвращает falseQString("abc").isEmpty(); // возвращает false