内部数据结构
在 Qt 中,信号和槽之间的连接主要通过 QObject 类及其相关的私有类进行管理。每个 QObject 实例都维护着一个指向其 QMetaObject 的指针,该对象包含了有关类的所有元信息,包括信号、槽等。此外,还有一个关键的数据结构用于存储信号与槽之间的连接信息,即 Connection 结构体。
Connection 结构体
Connection 是 Qt 内部使用的一个结构体,用于表示单个信号到槽的连接。它通常包含以下字段:
- sender: 发送者对象的指针。
 - signal_index: 信号的索引,在 
QMetaObject中定义。 - receiver: 接收者对象的指针。
 - slot_index_or_method_pointer: 槽函数的索引或方法指针。
 - connectionType: 连接类型(如自动连接、队列连接等)。
 - nextConnectionList: 指向下一个 
Connection