Qt将文件保存到指定目录下(另存为的功能)

因为Qt才开始入门。对文件的操作还不是很熟练。经过一段时间查找终于找出一些适用于入门的代码。

    QDir d;
    d.mkpath("D:/123");
    file = new QFile("D:/123/tmp");
    file->open(QFile::WriteOnly);

恩其实当时要找的就是这么点代码可是网上的Qt很少(相对于VC)或者说内容很多,不是针对性的。

第一行 创建一个目录的对象

第2行 创建一个目录,就是文件夹。其实文件夹就是目录,你在同一个硬盘下复制东西都很快,就是因为硬盘只改变了目录!

第3行 创建以个tmp的文件放到你刚创建的文件夹内。这里的地址必须正确,如果是空地址或者错误的地址都不能成功创建文件。就是这个原因我绕了好大圈子,不过也学习了不少东西。

第4行打开文件,大家可以试下 没有第4个文件显示不出来

其实这知识就是这么简单 可是网上搜 自己问 自己理解却用了2天时间。结果还是出来了。所以不管遇到什么样的困难和问题,只要自己做下去,就能出来!

下面是另存为功能对话框选择保存路径即可。(简介版的)

方法1:

QString fileName(tr("ok.txt")) ;  
 QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                                  "/home",
                                               QFileDialog::ShowDirsOnly
                                                  | QFileDialog::DontResolveSymlinks);

    QDir d;
    d.mkpath(dir);//可以不用,因为路径已经有了,就不用mk了
    QFile file(dir+"/"+fileName);
    file.open(QFile::WriteOnly);

方法2:-------------保存
QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), "", tr("Curve TagName Files (*.TXT)"));
if (!fileName.isEmpty())
{
//一些处理工作,写数据到文件中
QList<QwtPlotCurve*>& plotCurves = m_plot->getPlotCurves();
QFile file(fileName);
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
QMessageBox::critical(this, tr("Error"), tr("Failed to open file \"%1\" for save!").arg(fileName), QMessageBox::Ok);
//write file
QTextStream wr(&file);
for(int i=0; i<plotCurves.count(); ++i)
{
wr <<plotCurves[i]->title().text() <<"\n";
}
file.close();
}
else
return;

方法3:---------另存为
QString path;   
path = QDir::currentPath() + "/CscanData/Cscan.bmp";    
QString filename = QFileDialog::getSaveFileName(this, tr("Save As"), path, tr("Image Files (*.bmp)"));    
if(!filename.isNull())    
{        
//一些处理工作,复制
        QFile::copy(path+ filename);   
}    
else    
return;

你可能感兴趣的:(文件,qt,保存,另存为)