Qt,获取其他.exe文件的标准输出流的信息(printf/print的输出信息)

比如,通过Python编写爬虫软件功能是运行程序获取豆瓣电影排行榜信息,并通过print打印出来。将其打包成.exe,通过Qt来调用,并获取到.exe程序运行的结果

简单示例代码:

cpp 复制代码
        // 创建 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;
        }

结果:

相关推荐
烛阴17 分钟前
武装你的Python“工具箱”:盘点10个你必须熟练掌握的核心方法
前端·python
苏打水com17 分钟前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~1 小时前
linux达梦数据库操作
linux·数据库·chrome
江公望1 小时前
Qt QtConcurrent使用入门浅解
c++·qt·qml
杨枝甘露小码1 小时前
Python学习之基础篇
开发语言·python
我是华为OD~HR~栗栗呀1 小时前
23届考研-Java面经(华为OD)
java·c++·python·华为od·华为·面试
武文斌772 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt2 小时前
SQLite架构
数据库·sqlite
小蕾Java2 小时前
PyCharm 软件使用各种问题 ,解决教程
ide·python·pycharm
Lucky_Turtle2 小时前
【PyCharm】设置注释风格,快速注释
python