本章我们来看connect函数是如何绑定信号和槽的
我们在MyWidget.cpp代码中的connect左边打断点进行DEBUG:按F11,进入connect函数。
下面是QObject::connect函数的代码:
2663~2670行:判断传入的参数是否为空,为空返回。
2673~2674行:判断信号是不是信号。大家看右边的DEBUG,sender是MyWidget对象,signal是“2mysignal()”,method是“1myslot()”。那么,如何判断信号是不是信号呢?
然后我们看check_signal_macro函数:
这个函数最核心的就是2266行,extract_code函数,member就是signal,指向的是字符串“2mysignal()”,OK,来看这个函数的实现:
static int extract_code(const char *member)
{