我做 Qt 程序员已经有一段时间了,我了解 Qt 的大部分一般特性。我仍然对连接语句如何在运行时将信号连接到插槽感到困惑。基本上我想了解编译时发生了什么以及运行时发生了什么..
编译时间:元对象编译器将生成代码以在附加的 cpp 文件中实现信号(每个包含 Q_OBJECT 的类一个)。
运行时:信号被映射到一个槽,槽被执行?这是我不清楚的部分...SIGNAL 和 SLOTS 是扩展为信号/插槽名称的字符串表示形式的宏...这和元对象如何帮助在运行时将调用映射到插槽?细节将不胜感激...
编辑:这个链接会给你一个更好的主意..(只有当你对血腥细节感兴趣时......) http://dev.libqxt.org/libqxt/wiki/Meta_Object_Format
将此与 QMetaObject 的文档结合起来,事情应该会变得清晰......