qt中的進程使用需要用到頭文件:include<QProcess> 首先來看看需要用到的主要的函數 (1)進程的定義: (2)進程的初始化: (3)啟動進程 (4)使用進程讀取數據 (5)字元拼接QStringList的使用方法 頭函數:process.h 源文件:process.cpp ...
qt中的進程使用需要用到頭文件:include<QProcess>
首先來看看需要用到的主要的函數
(1)進程的定義:
QProcess *mprocess; //定義一個進程參數
(2)進程的初始化:
//初始化進程對象 mprocess = new QProcess();
(3)啟動進程
//啟動計算器 mprocess->start("calc");
(4)使用進程讀取數據
while(mprocess->canReadLine()) //全部讀出進程中的數據
(5)字元拼接QStringList的使用方法
QStringList list; //拼接字元串,跟appen相似 list<<"ech0"; list<<ui->comboBoxArg->currentText(); mprocess->start(ui->comboBoxCmd->currentText(),list);//啟動進程,後面跟的是參數
頭函數:process.h
1 #ifndef PROCESS_H 2 #define PROCESS_H 3 4 #include <QMainWindow> 5 #include <QProcess> //qt中進程的頭文件 6 namespace Ui { 7 class Process; 8 } 9 10 class Process : public QMainWindow 11 { 12 Q_OBJECT 13 14 public: 15 explicit Process(QWidget *parent = 0); 16 ~Process(); 17 QProcess *mprocess; //定義一個進程參數 18 19 private slots: 20 void read_data(); 21 void on_btn_cmd_clicked(); 22 23 private: 24 Ui::Process *ui; 25 }; 26 27 #endif // PROCESS_H
源文件:process.cpp
1 #include "process.h" 2 #include "ui_process.h" 3 #include <QDebug> 4 #include <QStringList> 5 Process::Process(QWidget *parent) : 6 QMainWindow(parent), 7 ui(new Ui::Process) 8 { 9 ui->setupUi(this); 10 //初始化進程對象 11 mprocess = new QProcess(); 12 13 //監聽讀數據信號 14 connect(mprocess,SIGNAL(readyRead()),this,SLOT(read_data())); 15 16 //添加運行參數 17 ui->comboBoxArg->addItem("192.168.1.246"); 18 ui->comboBoxArg->addItem("./"); 19 ui->comboBoxArg->addItem("c++"); 20 21 ui->comboBoxCmd->addItem("ifconfig"); 22 ui->comboBoxCmd->addItem("ls"); 23 ui->comboBoxCmd->addItem("./test"); 24 25 } 26 27 Process::~Process() 28 { 29 delete ui; 30 } 31 32 33 void Process::read_data() 34 { 35 while(mprocess->canReadLine()) //全部讀出進程中的數據 36 { 37 qDebug()<<mprocess->readLine(); 38 } 39 40 } 41 42 void Process::on_btn_cmd_clicked() 43 { 44 QStringList list; 45 //拼接字元串,跟appen相似 46 list<<"ech0"; 47 list<<ui->comboBoxArg->currentText(); 48 49 mprocess->start(ui->comboBoxCmd->currentText(),list);//啟動進程,後面跟的是參數 50 51 }