新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt基础编程
>
求教Qt如何实现文件夹复制,同时显示复制进度?
发帖
回复
返回列表
新帖
5742
阅读
4
回复
[提问]
求教Qt如何实现文件夹复制,同时显示复制进度?
[复制链接]
上一主题
下一主题
离线
cfxks1989
UID:129924
注册时间
2012-04-06
最后登录
2016-07-03
在线时间
95小时
发帖
97
搜Ta的帖子
精华
0
金钱
1085
威望
107
贡献值
0
好评度
97
访问TA的空间
加好友
用道具
论坛版主
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2013-02-28
如题:
文件
夹复制,网上倒是有不少的
资料
,但是我希望在复制的同时能有进度
对话框
显示
复制的进度这类信息。
不知道这个该如何实现啊?从哪里获取文件的处理进度啊?
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
roywillow
UID:97396
注册时间
2010-05-15
最后登录
2021-09-20
在线时间
5071小时
发帖
2897
搜Ta的帖子
精华
5
金钱
29175
威望
2924
贡献值
2
好评度
2916
访问TA的空间
加好友
用道具
精灵王
加关注
发消息
只看该作者
1楼
发表于: 2013-02-28
我好想在哪看到过这种其他人写的对话框组件,不过真心想不起来在哪了……
或者调用系统api,windows下有个shell api是直接调用资源管理器那个复制功能
共
条评分
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
回复
举报
离线
hitler++
UID:115024
注册时间
2011-04-13
最后登录
2024-02-19
在线时间
1051小时
发帖
264
搜Ta的帖子
精华
0
金钱
2766
威望
282
贡献值
2
好评度
272
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
2楼
发表于: 2013-03-01
能实现,用QFile 读取文件,然后用QFile 写入目标文件,然后widget上放个进度条 ,range 设置为文件字节数量 ,每写完多少字节,然后更新到这个QProgress上面.只能这样手工实现,没有能够直接调用的高层函数可以知道进度的
共
条评分
回复
举报
离线
mpfishere
UID:104734
注册时间
2010-09-04
最后登录
2013-05-20
在线时间
25小时
发帖
12
搜Ta的帖子
精华
0
金钱
118
威望
22
贡献值
0
好评度
12
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
3楼
发表于: 2013-03-01
复制代码
#include <QDate>
#include <QDir>
#include <WTypes.h>
#include <ShellAPI.h>
#include <tchar.h>
#include <WinNT.h>
#pragma comment(lib, "shell32.lib")
#ifdef UNICODE
#define QStringToTCHAR(x) (wchar_t*) x.utf16()
#define PQStringToTCHAR(x) (wchar_t*) x->utf16()
#define TCHARToQString(x) QString::fromUtf16((x))
#define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))
#else
#define QStringToTCHAR(x) x.local8Bit().constData()
#define PQStringToTCHAR(x) x->local8Bit().constData()
#define TCHARToQString(x) QString::fromLocal8Bit((x))
#define TCHARToQStringN(x,y) QString::fromLocal8Bit((x),(y))
#endif
void CCopyFileThread::run()
{
int iCurFileIndex = 0;
QDir oDir;
oDir.mkpath("D:/" + QDate::currentDate().toString("yyyyMMdd")); // 目标路径
while (!mbStopped)
{
// 要上传的文件列表
if (g_LstopUploadFile.size() == 0)
{
continue;
}
if (iCurFileIndex == g_LstopUploadFile.size())
{
emit msigLocalCopyDone(false);
mbStopped = true;
continue;
}
CFileInfo *opFileInfo = g_LstopUploadFile.at(iCurFileIndex);
QString strAbsFileName = opFileInfo->msGetAbsoluteFilePath();
QString strSrc = strAbsFileName;
QString strTgt("D:\\" + QDate::currentDate().toString("yyyyMMdd") + "\\" + opFileInfo->msGetFileName());
TCHAR tmpsrcpath[1024];
TCHAR tmpdespath[1024];
ZeroMemory(tmpsrcpath, 1024*sizeof(TCHAR));
ZeroMemory(tmpdespath, 1024*sizeof(TCHAR));
int iSrcLength = strSrc.toWCharArray(tmpsrcpath);
int iTgtLength = strTgt.toWCharArray(tmpdespath);
tmpsrcpath[iSrcLength+0] = TCHAR('\0');
tmpsrcpath[iSrcLength+1] = TCHAR('\0');
tmpsrcpath[iSrcLength+2] = TCHAR('\0');
tmpdespath[iTgtLength+0] = TCHAR('\0');
tmpdespath[iTgtLength+1] = TCHAR('\0');
tmpdespath[iTgtLength+2] = TCHAR('\0');
SHFILEOPSTRUCT lpsh;
ZeroMemory(&lpsh, sizeof(lpsh));
lpsh.hwnd = HWND_DESKTOP;
lpsh.fFlags = FOF_RENAMEONCOLLISION; // 有重名文件时自动添加“复件”前缀
lpsh.wFunc = FO_COPY; // 拷贝文件
lpsh.pFrom = tmpsrcpath; // 源文件路径
lpsh.pTo = tmpdespath; // 目标路径
if (0 != SHFileOperation(&lpsh))
{
mbStopped = true;
break;
}
// 开始传输下一个文件
iCurFileIndex++;
}
mbStopped = false;
}
以前做过的项目代码,LZ参考一下吧,只要把源文件夹中的文件遍历一下放到g_LstopUploadFile里就可以了
共
条评分
回复
举报
离线
ericjin
UID:141039
注册时间
2013-02-20
最后登录
2015-05-10
在线时间
4小时
发帖
1
搜Ta的帖子
精华
0
金钱
10
威望
11
贡献值
0
好评度
1
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
4楼
发表于: 2013-03-01
Qt example and demo 中有个Find File Dailog, 你可以参照一下
共
条评分
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
Qt版百度云笔记
机械CAD
Qt文档计划
QTCN网站系统开发
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选