事件处理
文章目录
1、Qt事件介绍
Qt GUI应用程序的核心是 QApplication 类。 每个GUI应用程序都需要一个并且只有一个 QApplication 对象才能运行。 该对象包含应用程序的事件循环——控制所有用户与 GUI 交互的核心循环。
在Qt中,事件是一种对象,由抽象类QEvent表示。Qt对事件进行分类,比如使用QKeyEvent表示键盘按键事件,使用QMouseEvent表示鼠标事件,QPaintEvent表示窗体绘制事件等等。
当有事件触发时,Qt会根据事件的具体类型通过QEvent相应子类创建该事件实例,然后传递给触发该事件对象的event()函数处理。
Qt的QObject类及其子类都可以进行事件处理。下面将详细介绍与窗口相关常用事件处理。
QObject的event()
函数原型如下:
event(self,e)
其中,e是QEvent类型,QEvent类提供了如下接口函数:
- accept():表示事件接收者接收该事件并进行处理,处理完成后,不再向上层容器组件进行传播
- ignore()