标题:Qt 数据库备份与还原时如何用进度条显示备份进度
作者:lovelyheart
日期:2019-09-25 11:41
内容:
如题,请教高手指点,
我使用MySQL下的mysqldump.exe和mysql.exe备份和还原数据库,每次还原或备份的时候程序就像卡死了一样,怎样弄一个进度条显示备份和还原的进度, 备份程序部分代码如下:
Qprocess poc;
poc.setStandardOutputFile(backupFile.filename());
poc.start(Qstring("mysqldump.exe -h%1 -P%2 -u%3 -p%4 --databases %5").arg(db_hostname,db_port,db_user,db_password,dbname));
poc.waitForFinished(-1);
#1 [lovelyheart 09-25 14:12]
可否有大神来帮助指导指导
#2 [astrolee 09-25 19:37]
QProcess并没有提供进度数据,但是你可以连接这个process的finished信号,然后异步起动这个进程(startDetached),这样主线程不会堵塞,当主线程收到finished信号则表示备份结束,同时通过exitCode和exitStatus来判断执行是否出错。