QT编写cmd工具


工程源码链接


mainwindow.c

#include "mainwindow.h"
#include "ui_mainwindow.h"

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

    this->pro = new QProcess;
    this->setWindowFlags(Qt::WindowCloseButtonHint);//设置窗口只有一个关闭按钮
//    Qt::CustomizeWindowHint 标题栏也没有 按钮也没有
//    Qt::WindowTitleHint 窗口只有一个关闭按钮
//    Qt::WindowSystemMenuHint窗口只有一个关闭按钮
//    Qt::WindowCloseButtonHint窗口只有一个关闭按钮
//    Qt::WindowMaximizeButtonHint 最小化按钮不可用,关闭按钮不可用,也就是只有最大化可用
//    Qt::WindowMinimizeButtonHint 还原按钮不可用
//    Qt::SubWindow 窗口没有按钮但是有标题栏
//    Qt::Desktop 没有显示在桌面也没在任务。但是任务管里器里还是有的
//    Qt::SplashScreen 标题栏也没有 按钮也没有在那里出现就站在那里不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗口名也没有,可以任务栏关闭
//    Qt::ToolTip 选了这个就等死吧……可以试试
//    Qt::Tool 有一个小小的关闭按钮

    QObject::connect(ui->lineEdit,SIGNAL(returnPressed()),this,SLOT(on_pushButton_clicked())); //对ui->lineEdit进行信号和槽连接,光标在ui->lineEdit内时按回车键,达到同点击运行按钮一样的效果
    QObject::connect(pro,SIGNAL(readyRead()),this,SLOT(readOutput()));//当准备从进程里读取数据的时候触发输出数据的槽

}

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

void MainWindow::on_pushButton_clicked()
{
    QString cmd = ui->lineEdit->text();
    pro->start(cmd);
    out = tr("");
    ui->textEdit->setText(out);
}

//从进程中读取数据槽
void MainWindow::readOutput()
{
    out += pro->readAll();
    ui->textEdit->setText(out);
}


猜你喜欢

转载自blog.csdn.net/SuGuolin/article/details/77379158