Member 14367686 Ответов: 1

QT - qprocess. Не удается прочитать вывод из Python


привет, у меня есть вопрос, как я могу получить вывод из python с помощью QProcess.
есть один скрипт python и проект QT
я вызываю скрипт python из QProcess. дело было сделано. но когда я пытаюсь получить вывод из моего QProcess, я не могу получить вывод. я получил только одно сообщение от системы.

мой вывод-это "печать" из python.

вот мой пример кода.
КВАРТА :
proc2 = new QProcess();
    proc2->setWorkingDirectory("My Directory");
    proc2->start("My Project");
    if(proc2->waitForStarted(-1)){
        while(proc2->waitForReadyRead(-1)){
            QByteArray a = proc2->readAllStandardOutput();
            qDebug()<<a;
        }
    }
    qDebug()<<"Finish";



а вот мой пример проекта на python
import sys
import os
import time
def main():

    i = 0
    while True:
        print "test"
        sys.stout.flush()
        time.sleep(2)


когда я запускаю программу, я не могу получить "тестовый" вывод.
но я проверил, работает ли программа.

Что я уже пробовал:

подключение события ReadyRead в QT
я пытался
печатать("")
представление sys.стаута.писать("")
печатать ""
на питоне.

когда я запускаю другой свой процесс с помощью QProcess, я могу получить только сообщение Except.
но мне не удалось собрать вам выход из печати

1 Ответов

Рейтинг:
8

Richard MacCutchan

Скорее всего потому что нет такого типа как stout в sys Правильный тип-это stdout.


Member 14367686

я пробовал также sys.stdout, но до сих пор ничего не могу прочитать.

Member 14367686

о. ты был прав. теперь я могу получить вывод из python. Огромное спасибо!