【发布时间】:2020-09-02 09:28:10
【问题描述】:
我在启动路径包含空格的 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\"");
【问题讨论】:
-
也许是这样:
process->startDetached("\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\"");? -
您,先生!是我的英雄!需要更多的测试,但它现在似乎工作了!谢谢!
-
或者,使用
setProgram和startDetached方法来避免引用头痛。 -
你能详细说明一下吗?我将如何使用
setProgram?