Qt文件操作之——QFileDialog保存文件

    QFileDialog m_QFileDialog;

    //!-- 得到原文件的后缀名
    QString suffix_save = QFileInfo(FilePathName).suffix();
    //!--- 设置过滤匹配文件格式
    QString setFilter = "office(*.doc *.docx *.xls *.xlsx *.ppt *.pptx);;image(*.jpg *.bmp);;txt(*.xml *.txt *.pdf);;(*.*);;";
    //!--- selectFilter为弹出对话框中的文件格式,dirString为文件路径,这里显示文件名
    QString selectFilter,dirString;

    if( FilePathName.isEmpty() ) return;
    else dirString = QFileInfo(FilePathName).fileName();

    //!--- 判断文件后缀名以及文件格式,看是否匹配,没有做出相应操作
    if( !suffix_save.isEmpty() && setFilter.contains( selectFilter ) ) selectFilter = suffix_save.insert(0,"*.");
    if( !suffix_save.isEmpty() && !setFilter.contains( selectFilter ) ) selectFilter = "*.*";

    QString saveFileName = m_QFileDialog.getSaveFileName(this,"保存文件",dirString,setFilter,&selectFilter,
                              QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);

    if( saveFileName.isEmpty() ) return;

    QFile file(saveFileName);

    if( selectFilter.compare("*.*") ) saveFileName = saveFileName+selectFilter.remove(0,1);

    //!--- 复制文件
    bool copy_error =  file.copy( FilePathName,saveFileName );

    Q_UNUSED(copy_error);


  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值