Qt的信号与槽的基本了解

        信号与槽是 Qt 框架引以为豪的机制之一。所谓信号与槽,实际就是观察者模式(发布-订阅模式)。优点:松散耦合,信号的发送端和接收端本身没有关联,是通过connect函数将两端进行连接。

        在Qt中信号和槽函数都是独立的个体,本身没有任何联系,但是由于某种特性需求我们可以将二者连接到一起。信号(Signal)是由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了某个特定事件,这时候Qt对应的窗口类会发出某个信号,以此对用户的挑选做出反应。槽(Slot)就是对信号响应的函数。

        connect函数,需要四个参数,简单来说,四个参数可以理解为: ① 信号发送端  ② 信号(函数的地址)  ③ 信号的接收端  ④ 信号的处理(槽函数) 。具体内容可以在Qt助手中查看。

        比如:我设置一个按钮 btn_close,创立widget界面时取名为 myWidget。我的需求是当我点击btn_close 按钮时,会使界面关闭,那么 connect 应用如下:

connect(btn_close,&QPushButton::clicked,this,&myWidget::close);

其中,① btn_close 就是信号发送端;②发送的信号是点击了按钮(&QPushButton::clicked);③ 信号的接收端是这个界面,可以用 this 表示;④ 对信号的处理方式是页面关闭(&myWidget::close)

        上述的按钮点击都是一些内置的信号或槽函数,称为 标准信号 和 标准槽函数 。

猜你喜欢

转载自blog.csdn.net/weixin_58351753/article/details/127460147