QT5制作运行窗口

时间:2021-06-27 23:13:24

运行窗口的话,按win+r键就会弹出,观察一下窗口的特点。

今天来详细讲解如何制作一个简易的运行窗口,如图所示:
QT5制作运行窗口
界面制作比较简陋哈, 但是主要功能还是有的,比如说打开什么notepad(记事本)、calc(计算器)还是不在话下的。

QT5制作运行窗口
确定、取消、浏览分别对应submitButton、cancelButton、browserButton,其他没什么好说的,接下来看代码。

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QProcess>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_submitButton_clicked();         //定义槽函数

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("运行");
    this->setMaximumSize(393,171);
    this->setMinimumSize(393,171);            //确定大小和标题
    //连接槽函数,returnPressed表示按回车
    QObject::connect(ui->cmdLineEdit,SIGNAL(returnPressed()),this,SLOT(on_submitButton_clicked()));
}

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

void Widget::on_submitButton_clicked()
{
    QProcess *process=new QProcess;                    //QProcess用于启动外部程序
    QString startProgram=ui->cmdLineEdit->text();      //获取输入
    process->start(startProgram.trimmed());            //运行并去多余空格
    ui->cmdLineEdit->clear();                   //清空
    this->close();               //关闭窗口
}