【专题7:qt上位机详解】 之 【3.信号与槽 - 自定义信号槽(重点)】

一个默默耕耘的工程师…

各专题目录
【专题1:工作两年再学嵌入式】
【专题2:freertos系统详解】
【专题3:从0到1写嵌入式操作系统】
【专题4:直流无刷电机控制】
【专题5:从0到1写bootloader、iap升级和产品量产】
【专题6:mcu硬件电路设计】
【专题7:qt上位机详解】
【专题8:linux应用及qt移植】
【专题9:从linux内核借鉴写代码的思路】
【专题10:面向对象和事件驱动】
【专题11:从0到1开发仪表】
【专题12:常用复杂模块从0到1】
【专题13:读书笔记】

1.在widget.h中定义信号

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
signals:
    void ViewSig();//自定义信号
private:
    Ui::Widget *ui;
};

观察moc生成的文件。
在这里插入图片描述

2.在widget.h中声明信号槽函数

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
signals:
    void ViewSig();//自定义信号
public:
    void ViewSlot();
private:
    Ui::Widget *ui;
};

3.在widget.cpp中定义槽函数:

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

void Widget::ViewSlot()
{
    qDebug()<<"槽函数被调用";
}

观察编译信息:编译直接出错,信号函数的定义moc会实现,但槽函数的定义需要我们自己实现。
在这里插入图片描述

4.信号与槽的绑定

①使用信号槽编辑器来绑定
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
②通过代码来绑定信号与槽

猜你喜欢

转载自blog.csdn.net/qq_29083043/article/details/106335888