// filter = "另存为(*.ofd);;另存为(*.pdf)"
QFileDialog *fileDialog = new QFileDialog(NULL);
fileDialog->setAcceptMode(QFileDialog::AcceptSave);
fileDialog->setWindowTitle("另存为...");
fileDialog->setDirectory(dir);
fileDialog->setFilter(filter);
fileDialog->selectFile(fileName);
fileDialog->setLabelText(QFileDialog::Accept,"保存");
fileDialog->setLabelText(QFileDialog::Reject,"取消");
if(fileDialog->exec() == QDialog::Accepted)
{
strPath = fileDialog->selectedFiles().at(0);
QFileInfo fileinfo(strPath);
QString qstrSelectedNameFilter = fileDialog->selectedNameFilter();
QString qstrSuffix = fileinfo.suffix().toLower();
if(!(qstrSuffix == "ofd" || qstrSuffix == "pdf"))
{
if(qstrSelectedNameFilter == "另存为(*.ofd)")
strPath += ".ofd";
else if(qstrSelectedNameFilter == "另存为(*.pdf)")
strPath += ".pdf";
}
}
主要用到了 selectedNameFilter方法
参考: