一、效果展示
二、关键代码
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()));
}