设计界面如下:
头文件代码:
#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
源文件代码:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
this->setMaximumSize(331,208);
this->setMinimumSize(331,208);
/**************
*功能:实现编辑框文本编辑完成按回车键后,与按“确定”按钮执行相同的操作。指向同一信号槽
* connect()函数,信号槽连接
* 参数1:信号发出方(编辑框)
* 参数2:发出的信号(回车)
* 参数3:本类
* 参数4:信号槽(指向“确定”按钮“点击”事件)
*/
QObject::connect(ui->cmdLineEdit,SIGNAL(returnPressed()),this,SLOT(on_submitButton_clicked()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_submitButton_clicked()
{
//定义一个进程对象
QProcess *process = new QProcess;
//取得进程启动文本(编辑框文本)
QString str=ui->cmdLineEdit->text();
//启动进程。如输入:notepad即启动notepad.exe程序
//QString::trimmed()删除字符串中误输入的最前和最后面的空格
process->start(str.trimmed());
ui->cmdLineEdit->clear(); //清空编辑框
this->close(); //关闭本窗口
}