比如,通过Python编写爬虫软件功能是运行程序获取豆瓣电影排行榜信息,并通过print打印出来。将其打包成.exe,通过Qt来调用,并获取到.exe程序运行的结果
简单示例代码:
// 创建 QProcess 对象QProcess process;// 连接信号槽以获取输出QObject::connect(&process, &QProcess::readyReadStandardOutput, [&process]() {QByteArray output = process.readAllStandardOutput();QString outputStr = QString::fromLocal8Bit(output); //转化为自己对应的编码格式qDebug() << "标准输出:" << outputStr;});QObject::connect(&process, &QProcess::readyReadStandardError, [&process]() {QByteArray errorOutput = process.readAllStandardError();qDebug() << "标准错误输出:" << errorOutput;});// 启动外部程序process.start(".exe所在的路径"); //这里我放入的是我写的爬虫打包的.exe// 等待进程完成if (!process.waitForStarted()){qDebug() << "无法启动进程";return;}if (!process.waitForFinished()){qDebug() << "进程运行出错";return;}
结果: