QFileDialog: Festlegen des Standarddateinamens im Dialogfeld "Speichern unter ..."

9

Ich versuche in Mac OS X den "Speichern unter ..." -Dialog zu erstellen. Aber ich möchte nicht QFileDialog::getSaveFileName() function verwenden, da der von dieser Funktion erzeugte Dialog wirklich NICHT ist -Nativ in Mac OS X Lion. Also entscheide ich mich für den Dialog als QFileDialog object:

%Vor%

Alles funktioniert gut, bis auf ein Problem. Ich kann den Standardnamen für die gespeicherte Datei nicht festlegen, daher muss der Benutzer diesen Namen jedes Mal manuell eingeben. Ich weiß, dass die Funktion QFileDialog::getSaveFileName() den Standarddateinamen über das dritte Argument dir festlegen kann ( Ссылка ). Aber wie setzt man diesen Standardnamen ohne diese Funktion?

Ich kann das Standard-Suffix für die gespeicherte Datei über QFileDialog::setDefaultSuffix() function setzen, aber ich muss den ganzen Standardnamen und nicht nur das Standard-Suffix einstellen.

Ich habe versucht, QFileDialog::setDirectory() function zu verwenden, aber es legt nur das Verzeichnis fest, in dem gespeichert werden soll, ohne den Namen der gespeicherten Datei.

Ich verwende Qt 4.8.1 unter Mac OS X Lion.

Vielen Dank im Voraus für Ihre Hilfe.

    
Denis Shevchenko 14.03.2013, 17:36
quelle

3 Antworten

3

In den Kommentaren für zukünftige Besucher wurde die folgende Zeile eingefügt: "myFileName" als Standardname in QFileDialog:

%Vor%

Diskussion: Ссылка

Nicht so hilfreiche Dokumente: Ссылка

    
Aaron Campbell 19.02.2015 00:30
quelle
2

Ich suchte nach google nach set default filename qfiledialog und passierte quer durch diese Diskussion.

Ich habe festgestellt, dass die Verwendung von selectFile("myFileName"); nur funktioniert, wenn die Datei tatsächlich existiert. In meinem Fall besteht die Absicht darin, eine neue Datei mit der Option zu erstellen, eine vorhandene Datei zu überschreiben.

Die Lösung, die für mich (Qt 5.3.2) funktioniert hat, war wie folgt:

%Vor%

Im obigen Beispiel ist preferredName ein QString, der "C: /pre-selected-name.txt"

enthält

Ich hoffe, das hilft

    
Hitsugaya198 05.03.2015 12:24
quelle
0

Mit der aktuellen QT-Version (5.x) können Sie Ihren bevorzugten Dateinamen mit dem Argument directory im QFileDialog.getSaveFileName() Funktionsaufruf:

%Vor%

Dokumente: Ссылка

    
Skandix 16.01.2018 10:24
quelle

Tags und Links