02/11/18 10:48
Thejuster
Come da titolo, non sò se sbaglio qualcosa nel procedimento,
o faccio tutto completamente in modo sbagliato.
Purtroppo le mie conoscenze del C# influiscono incredibilmente sulla stesura del codice C++.
e molte delle volte mi confondo.
il mio metodo è quello di usare il QDataStream per scrivere in modalità binaria sul file.
in primis ho una classe
mapeditor.h
Successivamente, dal main effettuo questa operazione
Il programma mi crea il file, ma il suo pesò e di solo 1kb
Mentre il Pixmap da salvare e molto più grande, quindi credo anche i vari dati contenuti nella lista.
aprendo il file dal blocco notes, vedo unicamente un simbolo ascii e niente più.
Dov'è il problema?
o faccio tutto completamente in modo sbagliato.
Purtroppo le mie conoscenze del C# influiscono incredibilmente sulla stesura del codice C++.
e molte delle volte mi confondo.
il mio metodo è quello di usare il QDataStream per scrivere in modalità binaria sul file.
in primis ho una classe
mapeditor.h
QPixmap map; Tileset *tileset; //structure struct Tile { public: int ID; int x,y,w,h; QRect rect; }; QList<Tile> Tiles;
Successivamente, dal main effettuo questa operazione
QString file = QFileDialog::getSaveFileName(this, tr("Seleziona il file da salvare"),"", tr("File Mappa (*.mp2d)")); QFile f(file); if(!f.open(QIODevice::WriteOnly)) { }else { QDataStream out(&f); out.setVersion(QDataStream::Qt_4_8); // mapeditor *m = new mapeditor(); m->Tiles = ui->maps->Tiles; // Applico alla nuova variabile il QList<Tile> con i valori attualmente presenti sulla mappa m->tileset = ui->maps->tileset; //Stesso procedimento, copio il Pixmap disponibile nella variabile temporanea. out << m; //Scrivo la classe su file. f.flush(); f.close(); //Test per verificare se i tiles inseriti nella nuova classe corrispondono a quelli presenti sulla mappa. QMessageBox::information(this,QString::number(m->Tiles.count()),tr("CONTA DEI BLOCCHI INSERITI NELLA MAPPA"),QMessageBox::Ok); }
Il programma mi crea il file, ma il suo pesò e di solo 1kb
Mentre il Pixmap da salvare e molto più grande, quindi credo anche i vari dati contenuti nella lista.
aprendo il file dal blocco notes, vedo unicamente un simbolo ascii e niente più.
Dov'è il problema?
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer