赞
踩
什么是事件?
事件(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信号,进而调用到信号关联的槽函数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。