1 XML写入
1.1 使用的库
#include "qdom.h"
1.2 主体语句
头部创建:
//创建xml文件头部
QDomDocument doc;
QDomProcessingInstruction instruction; //添加处理命令
instruction = doc.createProcessingInstruction("xml","version\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instruction);
QDomElement root = doc.createElement("颜色矫正参数"); //根节点
doc.appendChild(root);
内容创建:文章来源:https://www.toymoban.com/news/detail-511982.html
//color值写入
QString color =ui->color_edit->text();
QDomElement XMLColor = doc.createElement("Color");
QDomElement sub_title = doc.createElement("color_1");
QDomText text; //括号标签中间的值
text = doc.createTextNode(color); //创建文本节点
XMLColor.appendChild(sub_title); //父子结构构建
sub_title.appendChild(text);
root.appendChild(XMLColor);
1.3 详细例子说明
.h文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
.cpp文件文章来源地址https://www.toymoban.com/news/detail-511982.html
#include "widget.h"
#include "ui_widget.h"
#include "QFile"
#include "QMessageBox"
#include "qdom.h" //在pro文件中加入QT +=xml
#include "QDebug"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
setWindowTitle("颜色矫正参数更改");
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
QString fileName = QCoreApplication::applicationDirPath() + "/data.xml";
qDebug()<<"path:"<<fileName;
QFile file(fileName);
if(!file.open(QFile::WriteOnly|QFile::Truncate)) //重写方式打开
{
QMessageBox::information(this,tr("错误"),tr("data文件写入失败"));
return;
}
//创建xml文件头部
QDomDocument doc;
QDomProcessingInstruction instruction; //添加处理命令
instruction = doc.createProcessingInstruction("xml","version\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instruction);
QDomElement root = doc.createElement("颜色矫正参数"); //根节点
doc.appendChild(root);
//color值写入
QString color =ui->color_edit->text();
QDomElement XMLColor = doc.createElement("Color");
QDomElement sub_title = doc.createElement("color_1");
QDomText text; //括号标签中间的值
text = doc.createTextNode(color);
XMLColor.appendChild(sub_title);
sub_title.appendChild(text);
root.appendChild(XMLColor);
//RGB值写入
QString R_value =ui->R_edit->text();
QString G_value =ui->G_edit->text();
QString B_value =ui->B_edit->text();
QDomElement XMLRGB = doc.createElement("RGB");
QDomElement RGB_title = doc.createElement("R");
QDomText RGB_text; //括号标签中间的值
RGB_text = doc.createTextNode(R_value);
XMLRGB.appendChild(RGB_title);
RGB_title.appendChild(RGB_text);
root.appendChild(XMLRGB);
RGB_title = doc.createElement("G");
RGB_text = doc.createTextNode(G_value);
XMLRGB.appendChild(RGB_title);
RGB_title.appendChild(RGB_text);
root.appendChild(XMLRGB);
RGB_title = doc.createElement("B");
RGB_text = doc.createTextNode(B_value);
XMLRGB.appendChild(
到了这里,关于Qt XML文件读、写、修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!