深度解析qt信号与槽(2)-观察者模式在信号和槽的应用

qt中的信号和槽机制本质上是应用了观察者模式进行设计的

1.qt中的信号和槽

QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)

Qt::ConnectionType = Qt::AutoConnection
如果接收器位于发出信号的线程中,则使用Qt::DirectConnection。否则,将使用Qt::QueuedConnection。连接类型在发出信号时确定。

即绑定信号和槽函数,用信号触发槽函数执行

2.观察者模式解析信号和槽

在这里插入图片描述

在这里插入图片描述
这里被观察者的Notify(),即为一个signal,观察者的Updata()即为slot,connect函数把观察者和被观察者连接,从而达到signal触发slot的目的,实现解耦合

3.信号和槽的使用

connect(this, &Widget::sig1, this, &Widget::slot1);
void Widget
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值