繁体   English   中英

将参数正确传递给使用Qt的QProcess运行的Linux二进制文件

[英]Passing parameters correctly to a Linux binary that is run with Qt's QProcess

我有一个编译并在终端上运行的二进制文件: ./pnrxms dataset-bc.arff 0.1 0.9 ,其中pnrxms是二进制名称,dataset-bc.arff,0.1、0.9是程序需要的三个参数。

为了从Qt内部执行相同操作,我使用了以下代码:

QProcess sh;
sh.start("sh", QStringList() << "-c" << "/home/r/l33t/Qt_RoughWork/source/menuandtoolbar/pnrxms dataset-bc.arff 0.1 0.9");

sh.waitForFinished();
QByteArray output = sh.readAll();
ui->textBrowser->setText(output);

但这没有用。 它DID启动程序,但无法获取参数。 该程序运行时如何运行而没有任何参数。

所以,然后我尝试了第二种方式:

QProcess sh;

sh.start("sh", QStringList() << "-c" << "/home/r/l33t/Qt_RoughWork/source/menuandtoolbar/pnrxms" <<"dataset-bc.arff"<<"0.1"<<"0.9");

sh.waitForFinished();
QByteArray output = sh.readAll();
ui->textBrowser->setText(output);

但是这次没有任何反应。 也就是说,该程序根本没有运行。

所以,我的问题是,当QProcess运行程序时,如何正确地将参数传递给程序。

以下作品:

sh.start("sh", QStringList() << "-c" << "/home/r/l33t/Qt_RoughWork/source/menuandtoolbar/pnrxms" dataset-bc.arff 0.1 0.9");

暂无
暂无

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

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