繁体   English   中英

QProcess 不运行路径中的空格

[英]QProcess doesn't run with spaces in path

我在启动路径包含空格的 QProcess 时遇到了问题。 总体目标是运行其他程序(目前在 Windows 上,但 macOS 也很棒)。 我测试了多个不同的路径,似乎只有没有空格的路径才有效。

这有效:

QProcess *process = new QProcess();
process->startDetached("C:\\Users\\xxxx\\AppData\\Local\\Programs\\Opera\\launcher.exe");

这不起作用:

QProcess *process = new QProcess();
process->startDetached("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe");

我怎样才能让这个工作? 欢迎任何帮助!

先感谢您!

编辑:根据 vahancho 的评论,我再次尝试了第二个示例并且成功了。 谢谢你。 将对多个其他路径进行更多测试并更新这篇文章。

QProcess *process = new QProcess();
process->startDetached("\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\"");

如果您分别设置程序和 arguments,Qt 将为您找出正确的报价。 注意 arguments 的列表,每个都恰好是目标进程中的一个参数:

QProcess *process = new QProcess();
process->setProgram("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe");
process->setArguments(QStringList() << "www.google.com");
process->startDetached();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM