Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Aggiungere testo ad una QTextEdit alla fine di un processo
Forum Updated to NodeBB v4.3 + New Features

Aggiungere testo ad una QTextEdit alla fine di un processo

Scheduled Pinned Locked Moved Solved Italian
3 Posts 2 Posters 386 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    fermatqt
    wrote on last edited by
    #1

    ciao!

    alla fine di un processo QProcess devo aggiungere un testo a quello già presente nella QTextEdit.
    per farlo ho fatto cosi:

    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) {
        ui->txtRes->setText(ui->txtRes->toPlainText() + "\n" + "TERMINATO");
        ui->txtUrl->setEnabled(true);
        ui->txtUrl->setText("");
        ui->btnDownload->setEnabled(true);
        process->kill();
    }
    
    void MainWindow::readOutput() {
        QProcess *process = dynamic_cast<QProcess*>(sender());
        if (process) {
            ui->txtRes->append(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->append(process->readAllStandardError());
        }
    }
    

    solo che la parola TERMINATO mi viene scritta parecchie volte.
    anche una ventina a volte, e non capisco il perchè.

    1 Reply Last reply
    0
    • mrdebugM mrdebug

      Ciao, ti consiglio di mettere tutte le connect prima dello start, compresa quella relativa all'evento finished().

      F Offline
      F Offline
      fermatqt
      wrote on last edited by
      #3

      @mrdebug said in Aggiungere testo ad una QTextEdit alla fine di un processo:

      Ciao, ti consiglio di mettere tutte le connect prima dello start, compresa quella relativa all'evento finished().

      si infatti il problema era quello.
      grazie!!

      1 Reply Last reply
      0
      • mrdebugM Offline
        mrdebugM Offline
        mrdebug
        wrote on last edited by
        #2

        Ciao, ti consiglio di mettere tutte le connect prima dello start, compresa quella relativa all'evento finished().

        Need programmers to hire?
        www.labcsp.com
        www.denisgottardello.it
        GMT+1
        Skype: mrdebug

        F 1 Reply Last reply
        0
        • mrdebugM mrdebug

          Ciao, ti consiglio di mettere tutte le connect prima dello start, compresa quella relativa all'evento finished().

          F Offline
          F Offline
          fermatqt
          wrote on last edited by
          #3

          @mrdebug said in Aggiungere testo ad una QTextEdit alla fine di un processo:

          Ciao, ti consiglio di mettere tutte le connect prima dello start, compresa quella relativa all'evento finished().

          si infatti il problema era quello.
          grazie!!

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved