比如,通过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;
}
结果: