在Windows版的Qt中使用QProcess::execute()时需要注意的是不能直接把命令全部敲在execute的参数里,比如将备份mysql数据库
以上的这句命令如果使用system()函数的话是可以执行的,但是在windows下会出现令人讨厌的控制台窗口,但如果在unix系统下可以很好的重定向到文件(比QProcess还好用些),如果要用QProcess来执行这条命令的话,就不能用上面对参数了,得如下: 设置QProcess对象的输出文件为backup.sql,执行命令(带参数),并且命令如果非常规,则可能要带扩展名。 说到底,就是 1、路径要注意,命令可能要带扩展名,比如aaaa.bat就不能简单地敲 aaaa 2、不能使用管道、重定向操作符 3、要有重定向操作符把内容重定向到文件或者从文件中读取输入的话,Qt4可以通过设置QProcess对象的标准输入、输出文件为自己需要的文件解决,Qt3不支持设置,只能用信号槽机制将标准输出通过QFile写入到文件。 |
|