当前位置:   article > 正文

Qt中的事件处理机制_qt事件处理机制

qt事件处理机制

什么是事件?
事件(event)是由系统或Qt本身在不同时刻发出的,当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件,一些事件在对用户操作做出响应是发出,如键盘事件等,另一些事件则由系统自动发出,如计时器事件。

事件处理机制:

在这里插入图片描述
 

用户操作 -> 系统内核感知 -> 发送系统消息 ->  消息转为Qt事件 -> 分发到QWidget对象 -> 调用event()函数 -> 发送信号 -> 槽函数

1、GUI应用程序的消息处理模型:
(1)用户操作界面,被操作系统内核空间中的设备驱动程序感知
(2)设备驱动程序向操作系统的用户空间的GUI应用程序发出系统消息
(3)GUI应用程序将系统消息转换为信号,进而触发槽函数

2、在GUI应用程序中,一个核心且关键的操作就是将系统消息转换为信号,涉及到Qt的事件处理机制:
(1)Qt平台将系统底层发来的消息转换为Qt事件,并将其Qt事件产生后立即被分发到QWidget对象
(2)QWidget对象中的event(QEvent* )函数对事件进行处理,即根据不同的事件,调用不同的事件处理函数
(3)在事件处理函数中发送Qt中预定义的对应事件的Qt信号,进而调用到信号关联的槽函数
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/949532?site
推荐阅读
相关标签
  

闽ICP备14008679号