QProcess Mac OS,Cant启动带参数的可执行文件

时间:2015-07-03 07:26:17

标签: macos qprocess yosemite

从终端发起的

/ usr / local / bin / rdesktop将我连接到主机

在没有参数的情况下启动rdesktop:

 QString program = "/usr/local/bin/rdesktop";
    QStringList args;
    QProcess *process = new QProcess(this);
    args << m_address;
    process->start("open \""+program);
    process->setArguments(args);

尝试过相同的结果:

process->startDetached("open \""+program);
process->execute("open \""+program);

也有参数重载func process.start(“open \”“+ program,args) 并且它不会启动任何内容,也没有错误消息。

请问一些建议吗?

2 个答案:

答案 0 :(得分:0)

...
process->start("open \""+program);
process->setArguments(args);

在调用QProcess :: start之后设置参数时,启动所需程序时进程不会收到参数。

作为QProcess::setArguments州的文件

  

设置在启动进程时传递给被调用程序的参数。 必须在start()之前调用此函数。

答案 1 :(得分:0)

...曾为

QProcess * process = new QProcess(this);

QString program =&#34; / usr / local / bin / rdesktop&#34 ;;

QStringList args;

args&lt;&lt; m_address;

工序 - &GT; setProgram(程序);

工序 - &GT; setArguments(参数);

工序 - &GT;开始();