我们都知道,windows下面的notepad,当你保存文件时.
当你输入文件名为"1" 或者"1.txt"
那么实际保存的文件名为1.txt
此时若1.txt已存在,则会弹出文件已存在的提示。
对于Qt中的QFileDialog,当输入"1.txt"时会给出”文件已存在的提示“,但是当输入"1"时,却不会给出文件已存在的提示。
下面是本人的代码,如果有谁做过,请不吝赐教。
void QTest_QStandardDialog::on_pushButton_qfiledialog_save_clicked()
{
QString strPicPath = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
{
QFileDialog dialog(this);
dialog.setAcceptMode(QFileDialog::AcceptSave);
dialog.setFileMode(QFileDialog::AnyFile);
dialog.setDefaultSuffix("png");
dialog.setNameFilter(QString(tr("Images (*.png *.xpm *.jpg)")));
dialog.setViewMode(QFileDialog::Detail);
dialog.setDirectory(strPicPath);
dialog.setOptions(dialog.options() | QFileDialog::DontConfirmOverwrite);
if( QFileDialog::Accepted == dialog.exec() ) {
QString s1 = dialog.selectedNameFilter();
QString strFile;
dialog.fileSelected(strFile);
QStringList strList = dialog.selectedFiles();
QString strFiles;
for(int i=0; i < strList.size(); i ++) {
strFiles += QString("[") + strList.at(i) + QString("]");
}
}
}
------解决思路----------------------
可能与操作系统有关,我用WIN7是没有问题的。
------解决思路----------------------
将QFileDialog继承一下,自己去实现那个功能,很简单的