测试的C++demo:
#include <QApplication>
#include <QDebug>
#include <QProcess>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建 QProcess 对象,并设置 Python 解释器路径和脚本文件路径
QProcess process;
process.setProgram("python3");
process.setArguments({"test.py","111222333"}); // 这里的111222333是输入的数据
process.setWorkingDirectory("/home/enpht/Documents/QtProject/test");
// 启动进程并写入数据
process.start();
// 等待进程完成并读取输出
process.waitForFinished();
QByteArray output = process.readAllStandardOutput();
// 对 Python 运行结果进行处理
QString result = QString::fromUtf8(output);
qDebug() << "Result: " << result;
return a.exec();
}
测试用的python代码:
import sys
if len(sys.argv) > 1:
input_value = sys.argv[1]
print("输入的结果:" + input_value)
else:
print("未输入参数")
实现效果:
正常打印