QFileDialog, Datei NICHT überschreiben

Alles rund um die Programmierung mit Qt
Antworten
Paddre
Beiträge: 30
Registriert: 10. Februar 2009 09:46

QFileDialog, Datei NICHT überschreiben

Beitrag von Paddre »

Moinsen.

zunächst geb ich euch mal folgenden Code:

Code: Alles auswählen

QString filename = QFileDialog::getSaveFileName(this, tr("Datei speichern"), "D:/",tr("VRML-Files (*.wrl)"));
	
if (filename.isEmpty())
{
	return;
}

while(QFile::exists(filename))
{
	filename.remove(".wrl");
	filename.append("_2.wrl");
}
string path = filename.toStdString();

ofstream file_out(path.c_str());
Mein problem ist, dass wenn ich die Datei speichern will und einen Namen auswähle den es im Ausgewählten Ordner schon gibt, die Meldung kommt ob ich denn die Datei überschreiben will. Is ja auch logisch.

Aber 1. will ich das nicht und 2. habe ich ja meine Alternativnamensgebung, falls die Datei schon existiert.

Wie krieg ich das hin, dass der QFileDialog das einfach so hinnimmt dass es die Datei schon gibt und die while-Schleife das dann regelt?

Bin mir nicht sicher ob das ein QT oder C++-Problem ist. Denke aber das hat mir dem QFileDialog zu tun.

Ist wahrscheinlich eine total einfache Antwort aber ich komm da nicht drauf und die Doku hat mir nicht weitergeholfen (für menschliches Versagen meinerseits bitte ich um Verständnis ;)
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Glaub ned das das so einfach geht was du willst.

wenn du nen dateinamen auswaehlst, den es schon gibt, wird die abfrage immer kommen.

Ich selber faend es auch unlogisch, dem user mit nem filedialog zum waehlen eines dateinames aufzufordern, und dann seine datei doch unter nem anderen namen abzulegen.
beispiel er legt test.txt an, und weil es test.txt scho gibt, machst du test_001.txt draus. Wie soll der user dann seine dateien wieder finden ???

Wenn du sowas willst, solltest du dem user einen Pfad und ein "namensschema" (ohne QFileDialog) angeben lassen. Dann isses fuer ihn klarer, das der name der datei in abhaengigkeit generiert wird.

Ciao ...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QFileDialog::DontConfirmOverwrite
Paddre
Beiträge: 30
Registriert: 10. Februar 2009 09:46

Beitrag von Paddre »

Haste recht ;) hab ich nun auch so gemacht...

Aber interessant wär schon inwieweit man in sowas eingreifen kann
Antworten