一、Qt中实现MySQL数据库备份
在项目的开发中,我们常常需要对数据库进行备份:
//mysql数据备份
bool SystemSetting_DataBase::mysqlDatabaseBackup(QString strPath)
{
QString Cmd = QString(" mysqldump -h%1 -P%2 -u %3 -p%4 %5").arg(db_ip,db_port,db_user,db_password,db_name);
//QString Path = QString("%1").arg("c://aa//backup.Sql");
QProcess p(this);
p.setStandardOutputFile(QString("%1//backup.sql").arg(strPath));
p.start(Cmd);
p.waitForStarted();
p.waitForFinished();
return true;
}
二、Qt中QProcess启动控制台程序不显示窗口问题
QString program = QString::fromLocal8Bit("C:/Users/win10/Desktop/aa.exe");
QProcess *myProcess = new QProcess();
myProcess->setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments *args)
{
//args->startupInfo->wShowWindow = SW_HIDE;
//args->startupInfo->dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
args->flags |= CREATE_NEW_CONSOLE;
args->startupInfo->dwFlags &= ~STARTF_USESTDHANDLES;
}
);
myProcess->start(program, QStringList());