运行窗口的话,按win+r键就会弹出,观察一下窗口的特点。
今天来详细讲解如何制作一个简易的运行窗口,如图所示:
界面制作比较简陋哈, 但是主要功能还是有的,比如说打开什么notepad(记事本)、calc(计算器)还是不在话下的。
确定、取消、浏览分别对应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(); //关闭窗口
}