QT下实现将图片从一个文件拷贝到另一个文件夹

由于项目的需要,从MFC转移到QT进行开发

首先要实现,MFC上的CString字符串操作要换成QString

将图片从一个文件拷贝到另一个文件夹, 以前是这样写的:

//void folderMove(CStringW origPath, CStringW goalPath)
//{
// SHFILEOPSTRUCT fop;
// ZeroMemory(&fop, sizeof fop);
// fop.wFunc = FO_COPY;
// //origPath += '\0';
// //goalPath += '\0';
// fop.pFrom = origPath;
// fop.pTo = goalPath;
// SHFileOperation(&fop);
//}

改成了如下操作:

bool folderMove(QString sourceDir, QString toDir, bool coverFileIfExist)
{
 //toDir.replace("\\", "/");
 if (sourceDir == toDir){
  return true;
 }
 if (!QFile::exists(sourceDir)){
  return false;
 }
 QDir *createfile = new QDir;
 bool exist = createfile->exists(toDir);
 if (exist){
  if (coverFileIfExist){
   createfile->remove(toDir);
  }
 }//end if 

 if (!QFile::copy(sourceDir, toDir))
 {
  return false;
 }
 return true;
}


但是,没有任何图像被移动,原来,QT移动文件,不但需要指定原始地址的完全路径,而且需要指定目标地址的文件路径,但是目前无法得到被移动图片的

具体文件名,所以用如下函数获得图片的文件名:

 QString file_fullpath = ".\\a\\1.bmp", file_name;
 QFileInfo  info;
 //file_fullpath = QFileDialog::getOpenFileName(this);
 info = QFileInfo(file_fullpath);
 file_name = info.fileName();





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值