您当前的位置: 首页 >  qt

txwtech

暂无认证

  • 2浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

QT启动 一个进程-一个exe文件方法

txwtech 发布时间:2022-08-14 23:00:04 ,浏览量:2

QT启动 一个进程-一个exe文件方法。

启动notepad.exe或cmd.exe

  • Qt 的 QProcess 类用来启动一个外部程序并与其进行通信。
  • 使用 start() 函数运行一个进程,之后 QProcess 进入 Starting 状态;
  • 当程序已经运行后,QProcess 就会进入 Running 状态并发送 started() 信号;
  • 当进程退出后,QProcess 重新回到 NoRunning 状态并发射 finished() 信号。
  • 新建Qt Widget应用,拖入Push Button.
  • 如下是头文件与cpp文件
  • #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include 
    #include 
    
    
    QT_BEGIN_NAMESPACE
    namespace Ui { class MainWindow; }
    QT_END_NAMESPACE
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        MainWindow(QWidget *parent = nullptr);
        ~MainWindow();
    
    private slots:
        void on_pushButton_clicked();
        void showResult();
        void showState(QProcess::ProcessState);
        void showError();
        void showFinished(int,QProcess::ExitStatus);
    
    
    private:
        Ui::MainWindow *ui;
        QProcess my_Process;
    };
    #endif // MAINWINDOW_H
    
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include 
    #include 
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        connect(&my_Process,&QProcess::readyRead,this,&MainWindow::showResult);
        connect(&my_Process,&QProcess::stateChanged,this,&MainWindow::showState);
        connect(&my_Process,&QProcess::errorOccurred,this,&MainWindow::showError);
        connect(&my_Process,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(showFinished(int,QProcess::ExitStatus)));
    
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    
    void MainWindow::on_pushButton_clicked()
    {
       // my_Process.start("notepad.exe");
        QString program ="cmd.exe";
        QStringList arguments;
        arguments            
关注
打赏
1665060526
查看更多评论
0.0416s