模仿cmd启动另一个程序

来源:互联网 发布:php时间戳精确到毫秒 编辑:程序博客网 时间:2024/06/16 03:32

设计界面如下:





头文件代码:

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QProcess>namespace Ui {class Widget;}class Widget : public QWidget{    Q_OBJECTpublic:    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(); //关闭本窗口
}



原创粉丝点击