Process:
1.QProcess Process Class
Qprocess *a=new qprocess ();
2. Start
void Qprocess::start (const QString & command, OpenMode mode = ReadWrite)
void Qprocess::start (const QString & program, const qstringlist & arguments, OpenMode mode = ReadWrite);
void Qprocess::start (OpenMode mode = ReadWrite)
A->start ("./1");
3. Read/write interface
Qint64 qiodevice::write (const Qbytearray & ByteArray);
Qbytearray Qiodevice::readall ()
A->write ();
A->readall ();
4. Signal
void Qprocess::readyreadstandardoutput ();
5. End
A->kill ();
process.h#ifndef Mainwindow_h#defineMainwindow_h#include<QMainWindow>#include<QProcess>namespaceUi {classMainWindow;}classMainWindow: Publicqmainwindow{Q_object Public: ExplicitMainWindow (Qwidget *parent =0); ~MainWindow ();PrivateSlots:voidon_pushbutton_clicked (); voidget_msg (); voidStart_signal1 (); voidon_pushbutton_2_clicked ();Private: Ui::mainwindow*UI; Qprocess*p;};#endif //Mainwindow_h
Process.cpp#include"mainwindow.h"#include"ui_mainwindow.h"#include<QDebug>Mainwindow::mainwindow (Qwidget*parent): Qmainwindow (parent), UI (NewUi::mainwindow) {UI->SETUPUI ( This); P=Newqprocess (); Connect (p,signal (Readyreadstandardoutput ()), This, SLOT (Get_msg ())), Connect (P,signal (started ()), This, SLOT (Start_signal1 ()));} MainWindow::~MainWindow () {DeleteUI;}voidmainwindow::on_pushbutton_clicked () {p->start ("ls");}voidmainwindow::get_msg () { while(p->Canreadline ()) {QString tmp= p->ReadLine (); UI->listwidget->AddItem (TMP);}}voidMainwindow::start_signal1 () {qdebug ()<<"Start";}voidmainwindow::on_pushbutton_2_clicked () {DeleteUi->listwidget->CurrentItem (); //Ui->listwidget->removeitemwidget (Ui->listwidget->currentitem ());Qdebug ()<<"Remove"; //ui->listwidget->clear ();}
Create a process in QT