QFileDialog: hinzufügen von extension wird automatisch beim speichern der Datei?

Bei Verwendung eines QFileDialog eine Datei zu speichern, und geben Sie die Erweiterung wie *.pdf) und der Benutzer gibt einen Namen ein, ohne diese Erweiterung, auch die gespeicherte Datei hat nicht die Erweiterung.

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", wie den Namen, die Datei wird gespeichert als "foo", nicht als "foo.pdf". Also die QFileDialog nicht die Erweiterung automatisch. Meine Frage: Wie kann ich das ändern?

  • Qt-Dokumentation ist klar und umfassend, ich Frage mich, wie könnten Sie vielleicht verpasst haben QFileDialog::setDefaultSuffix()
  • Sieht aus wie eine Menge von Werken nur das gleiche zu tun wie : QFileDialog::getSaveFileName(). Muss ich da etwas verpasst ?
  • L.: ich in der Regel versuchen die Frage zu beantworten, nicht die Frage der Notwendigkeit, vor allem für einfache Anfragen wie diese. Allerdings, wenn die OP hätte öffnete die Seite, die ich verlinkt und gesucht "Erweiterung", er hätte nur das Beispiel für "setNameFilter", und sonst nichts bezogen auf Standard-Suffixe.
  • Genau, das ist der Grund, warum ich, fragte dieser (leicht zu beantworten) Frage
InformationsquelleAutor Berschi | 2009-12-23
Schreibe einen Kommentar