hel*_*irk 7 windows qt qprocess
我试图调用一个可执行文件qprocess并传递一些可能(并且很可能会)包含空格(不是全部)的参数.可执行文件是python已打包的脚本Py2exe.该python脚本用于optparse解析参数.
如果我py2exe.exe在cmd.exe通话中打电话是这样的:
pythonExecutable.exe -aarg_a -barg_b -c"path with spaces" -darg_d
Run Code Online (Sandbox Code Playgroud)
像这样的电话会成功.
我希望通过一个Qt应用程序使用Qprocess,但我找不到一种方法来做这个,因为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);
Run Code Online (Sandbox Code Playgroud)
当你与空间争论并且不需要"符号"时,你就是正常的
你只需要在QStringList中传递参数
QString program = "pythonExecutable.exe";
QStringList arguments;
arguments <<"a"<< "path with spaces";
QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
Run Code Online (Sandbox Code Playgroud)
此程序是Qt docs Here中列出的示例程序的修改版本
| 归档时间: |
|
| 查看次数: |
6479 次 |
| 最近记录: |