ciao!

o almeno penso che il problema sia quello.
nel senso che questo è il mio codice:
codice:
void MainWindow::execCmd(QString cmd) {
    ui->txtRes->clear();
    ui->txtUrl->setEnabled(false);
    ui->btnDownload->setEnabled(false);

    process = new QProcess();
    if (process) {
        process->setEnvironment(QProcess::systemEnvironment());
        process->setProcessChannelMode(QProcess::MergedChannels);
        process->start(cmd);
        process->waitForStarted();
        connect(process, &QProcess::readyReadStandardOutput, this, &MainWindow::readOutput);
        connect(process, &QProcess::readyReadStandardError, this, &MainWindow::readError);
    }
}

void MainWindow::processFinished(int code, QProcess::ExitStatus status) {
    process->kill();
    qDebug() << "OK";
}

void MainWindow::readOutput() {
    QProcess *process = dynamic_cast<QProcess*>(sender());
    if (process) {
        ui->txtRes->appendPlainText(process->readAllStandardOutput());
        connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(processFinished(int, QProcess::ExitStatus)));
    }
}

void MainWindow::readError() {
    QProcess *process = dynamic_cast<QProcess*>(sender());
    if (process) {
        QPalette p = ui->txtRes->palette();
        p.setColor(QPalette::Text, Qt::red);
        ui->txtRes->setPalette(p);
        ui->txtRes->appendPlainText(process->readAllStandardError());
    }
}
quell'OK mi compare in console una decina di volte.
idee??