一、效果展示

Qt调用cmd_qt


二、关键代码

QProcess process;
QString cmd = "ping 127.0.0.1";
process.start(cmd);
process.waitForStarted();
process.waitForFinished();
text->append(QString::fromLocal8Bit(process.readAllStandardOutput()));

三、完整代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include <QProcess>
#include <QTextEdit>
#include <QLineEdit>
#include <QPushButton>
#include <QWidget>
#include <QHBoxLayout>
#include <QVBoxLayout>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

QWidget* celWidget;
QTextEdit* text;
QLineEdit* line;
QPushButton* btn;

public slots:
void slot_btn();


private:
Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

celWidget = new QWidget;
QVBoxLayout* mainLayout = new QVBoxLayout(celWidget);
this->setCentralWidget(celWidget);

text = new QTextEdit;

line = new QLineEdit;
btn = new QPushButton(QString("Enter"));
connect(btn,&QPushButton::clicked,this,&MainWindow::slot_btn);
QHBoxLayout* H1_Layout = new QHBoxLayout;
H1_Layout->addWidget(line);
H1_Layout->addWidget(btn);


mainLayout->addWidget(text);
mainLayout->addLayout(H1_Layout);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::slot_btn()
{
QProcess process;
QString cmd = line->text();
process.start(cmd);
process.waitForStarted();
process.waitForFinished();
text->append(QString::fromLocal8Bit(process.readAllStandardOutput()));
}