跳转至

事件

概述


事件在 Qt 中也是一个十分重要的概念, 其功能上相当于信号,Qt 中常见的事件如下:

  • 键盘事件: 按键按下和松开
  • 鼠标事件: 鼠标移动、鼠标按下&松开
  • 拖放事件: 用鼠标进行拖放
  • 滚轮事件: 鼠标滚轮滚动
  • 绘屏事件: 重绘屏幕的某些部分
  • 定时事件: 定时器到时
  • 焦点事件: 键盘焦点移动
  • 进入和离开事件: 鼠标进入 Widget 或离开
  • 移动事件: Widget 的位置改变
  • 大小改变事件: Wdiget 的大小改变
  • 显示和隐藏事件: Wdiget 的显示和隐藏
  • 窗口事件: 窗口是否为当前的窗口

 Qt 将系统产生的消息转化为 Qt 事件, Qt 事件被封装为对象, 所有的 Qt 事件均继承抽象类 QEvent, 用于描述程序内部或者外部发生的动作, 任意的 QObject 对象都具备处理 Qt 事件的能力。

Qt 中的事件通过虚函数 event (); 实现, 用户可以自行重写 event 函数即可实现相关的事件触发功能。

键盘事件: QkeyEvent


键盘按下事件: KeyPressEvent

  1. 重写虚函数 KeyPressEvent

包含对应的头文件、声明对应方法。

1
2
3
4
5
6
7
8
9
#include <QKeyEvent>

~~~

public:
    // 声明虚函数
    void KeyPressEvent(QKeyEvent *key);

~~~
  1. 检测键盘对应键按下