子进程调用带参数的python脚本,并获取执行结果

效果:

QT方式发起子进程调用,模拟终端bash调用shell或者其它可执行文件。下面演示了阻塞式的调用外部APP(APP的功能是在终端中调用python脚本并附带相关参数)

具体实现(核心带释义)

调用逻辑

int PyApiThread::executeExterProcess(const QString &pyfile, const QStringList ¶mters)
{
    QProcess bash;
    //在调用过程中可以通过外部信号提前结束调用
    connect(this, &PyApiThread::stopThreadWork, this, [&]{
        bash.terminate();
        bash.kill();
    });

    QStringList list;
    list<processEvents();
    bash.waitForFinished();
    int code = bash.exitCode();
    bash.kill();
    bash.close();

    return code;
}

被调用的app

int isInitPlatform(const QString& file, const QByteArray& output)
{
    if("api_platforminit" != file)
        return 2;

    i

你可能感兴趣的:(QtDemo,子进程,调用外部程序,分离,阻塞,python,QT)