Не удается прочитать вывод команды при использовании QProcess

Моя программа должна отправить командную строку с QProcess и получить результат, который затем будет отображаться в графическом интерфейсе. Команда, которую я хочу выполнить и прочитать ее вывод, это ostree remote refs kinoite
Вот мой код:

    QProcess* process = new QProcess();

    connect(process,&QProcess::readyReadStandardError,[process]() {
        qWarning()<<"Error: " << process->readAllStandardError();
    });
    
    //catch data output
    connect(process,&QProcess::readyReadStandardOutput,[process]() {
            qWarning()<<"Output: " << process->readAllStandardOutput();
    });

    // delete process instance when done, and get the exit status to handle errors.
    QObject::connect(process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
                     [=](int exitCode, QProcess::ExitStatus exitStatus){
        qWarning()<< "process exited with code " << exitCode;
        process->deleteLater();
    });

    process->setWorkingDirectory(QStringLiteral("~"));
    process->start(QStringLiteral("ostree"), {QStringLiteral("remote"), QStringLiteral("refs"), QStringLiteral("kinoite")});

Сигналы не принимаются, поэтому на терминале ничего не отображается при использовании qWarning()
Помогите пожалуйста.
Спасибо


person Mariam Fahmy    schedule 19.03.2021    source источник


Ответы (1)


Проблема была не в QProcess, а в том, что QProcess работал внутри набора инструментов.

person Mariam Fahmy    schedule 30.03.2021