Q) Where is the body of the signals?
Signals are just simple functions, whose body is generated by moc. They are just calling QMetaObject::activate, with an array of pointers to arguments on the stack. Here is the code of a signal, as generated by moc.
Q) What is the need of proxy and adapater?