Skip to content

Instantly share code, notes, and snippets.

@hardware
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hardware/e6ecec68634ae18995c0 to your computer and use it in GitHub Desktop.
Save hardware/e6ecec68634ae18995c0 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<epandage>
<parametres_parcelle>
<nom>TEST</nom>
<longueur>455</longueur>
<largeur>22</largeur>
<volume_pulverise>27</volume_pulverise>
<volume_hectare>18</volume_hectare>
</parametres_parcelle>
</epandage>
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QXmlStreamReader>
#include <QXmlStreamWriter>
MainWindow::MainWindow( QWidget* parent )
: QMainWindow( parent ),
ui( new Ui::MainWindow ),
xmlWriter(new QXmlStreamWriter()),
xmlReader(new QXmlStreamReader())
{
ui->setupUi( this );
}
MainWindow::~MainWindow()
{
delete ui;
delete xmlReader;
delete xmlWriter;
}
void MainWindow::on_pushButton_clicked()
{
QFile file(QCoreApplication::applicationDirPath() + "/config.log");
if( file.open( QIODevice::ReadWrite ) )
{
xmlWriter->setDevice( &file );
xmlWriter->setAutoFormatting( true );
xmlWriter->setAutoFormattingIndent( 2 );
generateXMLstructure(xmlWriter);
file.close();
QMessageBox::information(this, "INFO", "Le fichier de confifguration a bien été créé.");
}
else
{
QMessageBox::warning(this, "ERREUR", "Une erreur est survenue lors de la création du fichier de configuration.");
}
}
void MainWindow::generateXMLstructure(QXmlStreamWriter* writer)
{
writer->writeStartDocument();
writer->writeStartElement("epandage");
writer->writeStartElement("parametres_parcelle");
writer->writeTextElement("nom", ui->nomParcelle->text());
writer->writeTextElement("longueur", QString::number(ui->longueurParcelle->value()));
writer->writeTextElement("largeur", QString::number(ui->largeurParcelle->value()));
writer->writeTextElement("volume_pulverise", QString::number(ui->volumeParcelle->value()));
writer->writeTextElement("volume_hectare", QString::number(ui->volumeHectare->value()));
writer->writeEndElement();
writer->writeEndElement();
writer->writeEndDocument();
}
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QFile>
#include <QMessageBox>
namespace Ui {
class MainWindow;
}
class QXmlStreamReader;
class QXmlStreamWriter;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget* parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow* ui;
QXmlStreamWriter* xmlWriter;
QXmlStreamReader* xmlReader;
void generateXMLstructure(QXmlStreamWriter* writer);
};
#endif // MAINWINDOW_H
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment