QFiledialog如果使用静态函数如下,在windows系统下就默认调用本地对话框,如果不希望使用本地对话框,也可以用QT的对话框。那么怎么做呢?
代码如下:
//这是单纯的保存函数,要使用它请搭配一个按钮
void MainWindow::savefile()
{
QString currentpath=QDir::currentPath();//获取当前路径
QFileDialog *file= new QFileDialog;
file->setWindowTitle(tr("Save as..."));//设置标题
file->setDirectory(currentpath);//设置打开路径
file->setNameFilter(tr("Profile(*.ini)"));//设置过滤器名字
file->setOptions(QFileDialog::DontConfirmOverwrite|QFileDialog::DontUseNativeDialog);//文件名重复时不自动覆盖且不使用本地对话框(使用QT的)
if(file->exec()==QDialog::Accepted)
{
QString path=file->selectedFiles().at(0);//被选中/设置保存的文件列表中的第一个
QFileInfo add(path);//根据保存的路径获得其相关信息
QString name=add.fileName();//获取文件名,即xxx.ini
if(!name.endsWith(".ini",Qt::CaseSensiti