QFileDialog: Hinzufügen automatisch Erweiterung beim Speichern der Datei?
-
21-09-2019 - |
Frage
Wenn Sie eine QFileDialog
mit einer Datei speichern und ohne diese Erweiterung die Erweiterung (wie * .pdf) und die Benutzertypen in einem Namen zu geben, auch die gespeicherte Datei hat diese Erweiterung nicht.
Beispiel-Code:
QFileDialog fileDialog(this, "Choose file to save");
fileDialog.setNameFilter("PDF-Files (*.pdf)");
fileDialog.exec();
QFile pdfFile(fileDialog.selectedFiles().first());
nun, wenn der Benutzer „foo“ als Namen eingibt, wird die Datei als „foo“ gespeichert werden, nicht als „foo.pdf“. So ist die QFileDialog
hinzufügen nicht die Erweiterung automatisch. Meine Frage: Wie kann ich das ändern
Lösung
Sie könnten verwenden QFileDialog :: setDefaultSuffix ()
Diese Eigenschaft Suffix hält den Dateinamen hinzugefügt, wenn kein anderes Suffix angegeben wurde.
Diese Eigenschaft gibt eine Zeichenfolge, die den Dateinamen hinzugefügt werden, wenn es keinen Suffix bereits hat. Das Suffix wird in der Regel verwendet, um den Dateityp angeben (zum Beispiel „txt“ eine Textdatei).