AI会给你讲得很清楚。
MOC编译时针对每个 signal 有一个连接链表(vector / linked list),
所以结构更接近:
sender
├── signal 0 -> [conn1, conn2, conn3]
├── signal 1 -> [conn4, conn5]
Delphi 的事件本质是:就是一个函数指针 + this 指针。所以:
一对一
编译期绑定
不支持自动跨线程
不支持反射
而 Qt:
一对多
运行时连接
支持运行时反射
支持跨线程
支持排队
自动断连
复杂度完全不同。
【 在 tortelee 的大作中提到: 】
: 最近在看信号传递,这个的原理是什么?用一个map维护callback函数吗?
--
FROM 123.115.128.*