分享

使用Qt的QProcess时的注意事项

 灬苹果树下灬 2010-12-23
在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写入到文件。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多