美文网首页
Qt QProcess

Qt QProcess

作者: c之气三段 | 来源:发表于2021-10-30 17:31 被阅读0次

执行命令行

    QProcess *m_pProcess;
    connect(ui->pushButton_ok,&QPushButton::clicked,[this]{
        QString command = ui->lineEdit_qtwexe->text();
        QStringList para;para<<ui->lineEdit_exe->text();
        if((!command.isEmpty())&&(!para.at(0).isEmpty()))
        {
            m_pProcess->start(command,para);
            m_pProcess->waitForFinished();
        }
    });
 connect(m_pProcess, &QProcess::started, [this] () {
           ui->plainTextEdit->appendPlainText("started...");
        });
    connect(m_pProcess,static_cast<void(QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished),this,[=] (int exitCode, QProcess::ExitStatus exitStatus){
                if(exitStatus == QProcess::ExitStatus::NormalExit)
        {
            ui->plainTextEdit->appendPlainText("finised");
            ui->plainTextEdit->appendPlainText("exitcode"+exitCode);
        }
        else {
            ui->plainTextEdit->appendPlainText("error");
            ui->plainTextEdit->appendPlainText("exitcode"+exitCode);
        }

    });
    connect(m_pProcess,&QProcess::readyReadStandardOutput,this,[=](){
        ui->plainTextEdit->appendPlainText(m_pProcess->readAllStandardOutput());
    });
image.png
//重启exe
    QString program = QApplication::applicationFilePath();
    QStringList arguments = QApplication::arguments();
    QString workingDirectory = QDir::currentPath();
    QProcess::startDetached(program, arguments, workingDirectory);
    QApplication::exit();

相关文章

网友评论

      本文标题:Qt QProcess

      本文链接:https://www.haomeiwen.com/subject/bsngaltx.html