QFileDialog:保存文件时自动添加扩展名?

时间:2009-12-23 16:01:10

标签: c++ qt qt4 save qfiledialog

使用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不会自动添加扩展名。我的问题:我怎样才能改变这个?

1 个答案:

答案 0 :(得分:17)

您可以使用QFileDialog::setDefaultSuffix()

  

如果未指定其他后缀,则此属性会将后缀添加到文件名中。

     

此属性指定一个字符串,如果它没有后缀,将添加到文件名中。后缀通常用于指示文件类型(例如“txt”表示文本文件)。