Qt - QProcess无效

pra*_*ran 3 c++ user-interface qt qprocess

我尝试启动Internet Explorer,所以我使用下面的代码

QProcess * process=new QProcess(this);
QString temp="C:\\Program Files\\Internet\ Explorer\\iexplore.exe";
process->startDetached(temp.toStdString().c_str());
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Ada*_*m W 7

尝试:

QProcess * process=new QProcess(this);
QString temp="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"";
process->startDetached(temp);
Run Code Online (Sandbox Code Playgroud)

您需要使用转义引号,因为路径中有空格,或者可能转义所有空格(您Program\ Files在发布的代码中遗漏了这些空格).

  • 比转义更容易:使用startDetached(temp,QStringList()).那个人会逃避自己.我总是更喜欢QProcess :: start/startDetached等的变体,它将args作为QStringList,以避免引用问题. (2认同)