m edit

Qt之事件处理机制

夙愿已清 提交于 2020-10-24 00:29:26
思维导读 一、事件简介 二、QT事件产生 三、Qt事件处理 四、自定义事件和eventFilter示例 思维导读    回到顶部 一、事件简介   QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发。QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期。   常见的QT事件类型如下:  键盘事件: 按键按下和松开  鼠标事件: 鼠标移动,鼠标按键的按下和松开  拖放事件: 用鼠标进行拖放  滚轮事件: 鼠标滚轮滚动  绘屏事件: 重绘屏幕的某些部分  定时事件: 定时器到时  焦点事件: 键盘焦点移动  进入和离开事件: 鼠标移入widget之内,或是移出  移动事件: widget的位置改变  大小改变事件: widget的大小改变  显示和隐藏事件: widget显示和隐藏  窗口事件: 窗口是否为当前窗口   QT将系统产生的消息转化为QT事件,QT事件被封装为对象,所有的QT事件均继承抽象类QEvent,用于描述程序内部或外部发生的动作,任意的QObject对象都具备处理QT事件的能力。 回到顶部 二、QT事件产生 (1)操作系统事件   操作系统将获取的事件,比如鼠标按键,键盘按键等keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEvent事件, 放入系统的消息队列中