使用Qt的QProcess时的注意事项

来源:百度文库 编辑:神马文学网 时间:2024/04/26 18:05:19
在Windows版的Qt中使用QProcess::execute()时需要注意的是不能直接把命令全部敲在execute的参数里,比如将备份mysql数据库

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