[Qt-interest] Force file extension with QFileDialog::getSaveFileName?
David Doria
daviddoria at gmail.com
Wed Jun 22 13:35:17 CEST 2011
> Guys, nothing is wrong with the docu ;) The setDefaultSuffix method only has an impact on a QFileDialog *instance*, but the OP was calling the *static* method which triggers the creation of a *native* file dialog, which might or might not add the suffix by itself already. On Mac the extension is added depending on the current filter, if the filter happens to be unique (e.g. "PNG (*.png)" as opposed to "Images (*.png, *.jpg, *.bmp)"), on Windows not quite sure, KDE/Gnome native file dialogs apparently don't auto-suffix your filename.
>
> That said, I am not even sure whether setDefaultSuffix() has an impact on the *native* file dialog - might be that Qt expands the filename accordingly in "post production" (after the native dialog has returned).
>
> It works for sure with the Qt file dialog, but that one has several limitations and disadvantages. One being that the suffix cannot be auto-applied depending on the selected filter (if you want to save under multiple file formats, for instance, and the filter would specify the format such as "Template" or "Document"). Only one suffix can be supplied with setAutoSuffix.
>
> Cheers, Oliver
Hi Oliver, they set me straight on making an instance of the dialog
right away :)
I'm not sure I follow the rest of what you said? Would you mind taking
a look? The example has commented out an attempt with a static method
(which apparently everyone agrees should not work), another commented
section shows the attempt with setDefaultSuffix, and the uncommented
section shows the manual method:
http://programmingexamples.net/index.php?title=Qt/Widgets/FileDialogDefaultSuffix
Again the documentation says "This property specifies a string that
will be added to the filename if it has no suffix already." and I'm
just not seeing that happen.
Thanks,
David
More information about the Qt-interest-old
mailing list