/*信号触发点
在分析Qt的事件循环时,在Windows平台的事件分发器处理函数
QEventDispatcherWin32::processEvents中最终只有DispatchMessage(&msg);
来分发事件,并没有看到怎么触发信号的,所以想了解事件到底怎么转换成信号的
猜测,是Qt的GUi组件封装了Windows的组件,然后接受事件消息,调用事件函数时去发射信号
分析一个按钮的click信号吧
一般应该是在mouseReleaseEvent里触发的,一层一层看怎么处理的*/
void QWidget::mouseReleaseEvent(QMouseEvent *event) //注意是虚函数
{
event->ignore();//可以看到QWidget仅仅是忽略信号
}
//=========================QAbstractButton::mouseReleaseEvent====================
//再看派生自QW
在分析Qt的事件循环时,在Windows平台的事件分发器处理函数
QEventDispatcherWin32::processEvents中最终只有DispatchMessage(&msg);
来分发事件,并没有看到怎么触发信号的,所以想了解事件到底怎么转换成信号的
猜测,是Qt的GUi组件封装了Windows的组件,然后接受事件消息,调用事件函数时去发射信号
分析一个按钮的click信号吧
一般应该是在mouseReleaseEvent里触发的,一层一层看怎么处理的*/
void QWidget::mouseReleaseEvent(QMouseEvent *event) //注意是虚函数
{
event->ignore();//可以看到QWidget仅仅是忽略信号
}
//=========================QAbstractButton::mouseReleaseEvent====================
//再看派生自QW