我试图用qprocess调用一个可执行文件并传递一些可能(并且很可能会)包含空格(不是全部)的参数.
可执行文件是一个与Py2exe打包在一起的 python脚本. python脚本使用optparse来解析参数.
可执行文件是一个与Py2exe打包在一起的 python脚本. python脚本使用optparse来解析参数.
如果我在cmd.exe中调用py2exe.exe,则调用如下:
pythonExecutable.exe -aarg_a -barg_b -c"path with spaces" -darg_d
像这样的电话会成功.
我想通过使用Qprocess的Qt应用程序来做到这一点,但我无法找到一种方法来执行此操作,因为Qprocess将删除任何引号(“”),只要空格出现,参数就会被破坏.
我似乎错过了什么,有人可以帮助解决这个问题吗?
如果你以更恰当的方式使用QProcess,那将不是什么大问题
QString program = "pythonExecutable.exe"; QStringList arguments; arguments <<"-aarg_a"<< "-barg_b"<< "-c\"path with spaces\""<< "-darg_d"; QProcess *myProcess = new QProcess(parent); myProcess->start(program,arguments);
当你与空间争论并且不需要“符号”时,你就是正常的
你只需要在QStringList中传递参数
QString program = "pythonExecutable.exe"; QStringList arguments; arguments <<"a"<< "path with spaces"; QProcess *myProcess = new QProcess(parent); myProcess->start(program,arguments);
此程序是Qt docs Here中列出的示例程序的修改版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。