admin管理员组

文章数量:1037775

【QT】事件系统入门——QEvent 基础与示例

一、事件介绍

事件是 应用程序内部或者外部产生的事情或者动作的统称

  • 在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。
  • 事件是由系统或者 Qt 平台本身在不同的时刻发出的。
  • 当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。
  • 一些事件是在用户操作时发出,如键盘事件、鼠标事件等,另一些事件则是由系统本身自动发出,如定时器事件。

事件本身是 操作系统提供的 机制,Qt 也同样把操作系统事件机制进行了封装拿到了 Qt 中,但由于 事件 对应的代码编写起来不方便,因此 Qt 对于事件机制 又进行了进一步的 封装,就得到了 信号槽

常见的 QT 事件如下:

不同场景下,要关注的点不一样。这些事件的子类中就会包含一些对应的不同属性。

常见事件描述:

从图片中提取的文字信息如下表所示:

事件名称

描述

鼠标事件

鼠标左键、鼠标右键、鼠标滚轮,鼠标的移动,鼠标按键的按下和松开

键盘事件

按键类型、按键按下、按键松开

定时器事件

定时时间到达

进入离开事件

鼠标的进入和离开

滚轮事件

鼠标滚轮滚动

绘屏事件

重绘屏幕的某些部分

显示隐藏事件

窗口的显示和隐藏

移动事件

窗口位置的变化

窗口事件

是否为当前窗口

大小改变事件

窗口大小改变

焦点事件

键盘焦点移动

拖拽事件

用鼠标进行拖拽

二、事件的处理

事件处理一般常用的方法为:重写相关的 Event 函数。

在 Qt 中,几乎所有的 Event 函数都是虚函数,所以可以重新实现。

比如:在实现鼠标的进入和离开事件时,直接重新实现 enterEvent()leaveEvent() 即可。enterEvent()leaveEvent() 函数原型如下:

img

【QT】事件系统入门——QEvent 基础与示例

一、事件介绍

事件是 应用程序内部或者外部产生的事情或者动作的统称

  • 在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。
  • 事件是由系统或者 Qt 平台本身在不同的时刻发出的。
  • 当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。
  • 一些事件是在用户操作时发出,如键盘事件、鼠标事件等,另一些事件则是由系统本身自动发出,如定时器事件。

事件本身是 操作系统提供的 机制,Qt 也同样把操作系统事件机制进行了封装拿到了 Qt 中,但由于 事件 对应的代码编写起来不方便,因此 Qt 对于事件机制 又进行了进一步的 封装,就得到了 信号槽

常见的 QT 事件如下:

不同场景下,要关注的点不一样。这些事件的子类中就会包含一些对应的不同属性。

常见事件描述:

从图片中提取的文字信息如下表所示:

事件名称

描述

鼠标事件

鼠标左键、鼠标右键、鼠标滚轮,鼠标的移动,鼠标按键的按下和松开

键盘事件

按键类型、按键按下、按键松开

定时器事件

定时时间到达

进入离开事件

鼠标的进入和离开

滚轮事件

鼠标滚轮滚动

绘屏事件

重绘屏幕的某些部分

显示隐藏事件

窗口的显示和隐藏

移动事件

窗口位置的变化

窗口事件

是否为当前窗口

大小改变事件

窗口大小改变

焦点事件

键盘焦点移动

拖拽事件

用鼠标进行拖拽

二、事件的处理

事件处理一般常用的方法为:重写相关的 Event 函数。

在 Qt 中,几乎所有的 Event 函数都是虚函数,所以可以重新实现。

比如:在实现鼠标的进入和离开事件时,直接重新实现 enterEvent()leaveEvent() 即可。enterEvent()leaveEvent() 函数原型如下:

img

本文标签: QT事件系统入门QEvent 基础与示例