QFileDialog:aggiungere l'estensione automaticamente durante il salvataggio del file?
-
21-09-2019 - |
Domanda
Quando si utilizza a QFileDialog
per salvare un file e specificare l'estensione (come *.pdf) e l'utente digita un nome senza questa estensione, anche il file salvato non ha questa estensione.
Codice di esempio:
QFileDialog fileDialog(this, "Choose file to save");
fileDialog.setNameFilter("PDF-Files (*.pdf)");
fileDialog.exec();
QFile pdfFile(fileDialog.selectedFiles().first());
ora quando l'utente inserisce "foo" come nome, il file verrà salvato come "foo", non come "foo.pdf".Così il QFileDialog
non aggiunge l'estensione automaticamente.La mia domanda:Come posso cambiare questo?
Soluzione
Potresti usare QFileDialog::setDefaultSuffix():
Questa proprietà mantiene il suffisso aggiunto al nome del file se non è stato specificato alcun altro suffisso.
Questa proprietà specifica una stringa che verrà aggiunta al nome file se non ha già un suffisso.Il suffisso viene generalmente utilizzato per indicare il tipo di file (ad es."txt" indica un file di testo).