QFileDialog: إضافة تمديد تلقائيًا عند حفظ الملف؟
-
21-09-2019 - |
سؤال
عند استخدام QFileDialog
لحفظ ملف ولتحديد الامتداد (مثل *.pdf) وأنواع المستخدمين في اسم بدون هذا الامتداد ، فإن الملف المحفوظ لم يكن هذا الامتداد.
مثال على ذلك:
QFileDialog fileDialog(this, "Choose file to save");
fileDialog.setNameFilter("PDF-Files (*.pdf)");
fileDialog.exec();
QFile pdfFile(fileDialog.selectedFiles().first());
الآن عندما يدخل المستخدم "FOO" كاسم ، سيتم حفظ الملف كـ "foo" ، وليس كـ "foo.pdf". لذلك QFileDialog
لا تضيف الامتداد تلقائيًا. سؤالي: كيف يمكنني تغيير هذا؟
المحلول
يمكنك استخدام QfileDialog :: setDefaultsuffix ():
هذه الخاصية تحمل لاحقة إضافة إلى اسم الملف إذا لم يتم تحديد لاحقة أخرى.
تحدد هذه الخاصية سلسلة سيتم إضافتها إلى اسم الملف إذا لم يكن لها لاحقة بالفعل. عادة ما يتم استخدام اللاحقة للإشارة إلى نوع الملف (على سبيل المثال "TXT" يشير إلى ملف نصي).
لا تنتمي إلى StackOverflow