学习记录QT的第一天--信号与槽

信号与槽:其实就是一个回调函数,当调用这个函数的时候就会执行相应的动作(on_callback)

记录下吧最简单的创建一个qt项目:
学习记录QT的第一天--信号与槽_第1张图片

学习记录QT的第一天--信号与槽_第2张图片
下面的基类我用的是QWidget
学习记录QT的第一天--信号与槽_第3张图片
创建新的项目是酱紫的:
学习记录QT的第一天--信号与槽_第4张图片
双击QWidget.ui文件可以进入图形编辑界面
学习记录QT的第一天--信号与槽_第5张图片
练手的第一的项目是模仿cmd命令行窗口
学习记录QT的第一天--信号与槽_第6张图片
主要改了下面两个文件还有自己做了一下ui界面。
widget.h文件:

#ifndef WIDGET_H
#define WIDGET_H

#include 
#include  //增加的QProcess

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_submitButton_clicked(); //增加的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->setMaximumSize(300,100);
    this->setMinimumSize(300,100);
    QObject::connect(ui->cmdLineEdit,SIGNAL(returnPressed()),this,SLOT(on_submitButton_clicked()));
}

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

void Widget::on_submitButton_clicked()
{
    /*
        QProcess *myProcess = new QProcess(parent);
        myProcess->start(program, arguments);
    */

    QProcess *process = new QProcess;
    QString startProgram = ui->cmdLineEdit->text();
    process->start(startProgram.trimmed());
    ui->cmdLineEdit->clear();
    this->close();
}

ctrl+r 运行的效果(输入notepad,按下回车打开文本编译器):

学习记录QT的第一天--信号与槽_第7张图片
学习记录QT的第一天--信号与槽_第8张图片

你可能感兴趣的:(QT,qt)