سؤال

عند استخدام 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" يشير إلى ملف نصي).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top