ciao!
o almeno penso che il problema sia quello.
nel senso che questo è il mio codice:
quell'OK mi compare in console una decina di volte.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()); } }
idee??

Rispondi quotando
