Qt程序是事件驱动的,程序的每个动作都由其内部的某个事件触发。Qt事件的发生与处理,作为程序运行的主线,贯穿于程序的整个生命周期。
常见的Qt事件包括但不限于定时器事件(定时器到期)、键盘事件(键盘键按下或弹起)、鼠标事件(鼠标移动及鼠标键按下或弹起)、拖放事件(拖放鼠标)、滚轮事件(鼠标滚轮滚动)、绘制事件(窗口区域重绘)、窗口事件(窗口激活或失活)、焦点事件(组件获得或失去输入焦点)、移动事件(组件位置改变)、大小改变事件(组件大小改变)、进入离开事件(鼠标进入或离开组件区域)、显示隐藏事件(组件显示或隐藏)等类型。
Qt将系统产生的消息转化为Qt事件,并封装为各种事件类的对象。Qt中的所有事件类均继承自抽象类QEvent,表示程序内部或外部所发生的动作。任何QObject及其子类的对象,都具有处理事件的能力。