file schreibe bei exit

Alles rund um die Programmierung mit Qt
Antworten
hustalicious
Beiträge: 6
Registriert: 8. April 2010 16:07

file schreibe bei exit

Beitrag von hustalicious »

Hallo zusammen

Meine Frage ist: Wie kann ich ein File schreiben, nachdem ich auf das "X" in meinem Hauptfenster klicke? bzw. wo muss ich diesen Programmteil platzieren?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

closeEvent() implementieren und da dein File speichern.
Ansonsten geht das natürlich (wie überall) auch im entsprechenden Destruktor ;)
hustalicious
Beiträge: 6
Registriert: 8. April 2010 16:07

Beitrag von hustalicious »

hey danke!¨

eine reimplementation von closeEvent() hats gebracht.
hustalicious
Beiträge: 6
Registriert: 8. April 2010 16:07

Beitrag von hustalicious »

hallo nochmal..

hat sich gleich ne andere Frage ergeben... Habe den folgenden code in der closeEvent routine.

Code: Alles auswählen

QByteArray ba = mXml->toByteArray(2);
    if(!mFile.write(ba))
    {   cout << "did not write file" << endl;
    }
    if(!mFile.flush())
    {   cout << "did not flush file" << endl;
    }

    QTextStream ts(&mFile);
    ts << mXml->toString(2) << endl;
der programmteil wird durchlaufen und das QDomDocument mXml enthält auch das gesamte xml file das habe ich schon kontrolliert. Nur wird nichts in mein File geschrieben???

error gibts auch keine
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Mehr Code.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Warum denn so verdammt kompliziert? QDomDocument erbt von QDomNode. Da gibt es einen "operator<<". Den darfst du auch benutzen!

Code: Alles auswählen

// QDomDocument doc; <- dein Dokument
QFile file("here/goes/file.xml");
if( file.open(QFile::WriteOnly) ) {
    QTextStream stream(&file);
    stream << doc;
}
Viel einfacher, oder?
Antworten