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;
        }

结果:

相关推荐
XT462516 小时前
交易、订单轮询策略(能用数据库轮询解决的不用Redis,能用Redis解决的不用消息队列)
数据库·redis·bootstrap
少控科技16 小时前
QT高阶日记01
开发语言·qt
周某人姓周16 小时前
sqlilabs靶场通关详解
数据库·mysql·安全·网络安全
ZeroNews内网穿透16 小时前
远程访问SQLITE-WEB服务
数据库·sqlite
霖霖总总17 小时前
[小技巧41]InnoDB 如何判断一行数据是否可见?MVCC 可见性机制深度解析
数据库·mysql
love530love17 小时前
彻底解决 ComfyUI Mixlab 插件 Whisper.available False 的报错
人工智能·windows·python·whisper·win_comfyui
木千17 小时前
Qt全屏显示时自定义任务栏
开发语言·qt
习惯就好zz17 小时前
[实战笔记] 从 Qt 5.12.9 跨越到 Qt 6.x 完美迁移指南 (Windows + VS)
windows·qt·msvc·qt5·qt6·迁移
不解风水17 小时前
《深度学习入门:基于 Python 的理论与实现》(斋藤康毅)
人工智能·python·深度学习
偷星星的贼1117 小时前
数据分析与科学计算
jvm·数据库·python