QKeyEvent和QMouseEvent键盘事件和鼠标事件

通过在头文件添加QKeyEvent和QMouseEvent即可在代码中使用。

一.QKeyEvent事件

首先键盘事件主要有keyPressEvent和keyReleaseEvent,一个是按压时触发,一个是释放时触发。

使用方法也很简单,通过在widget.h中声明键盘事件函数, 在widget.cpp中重写函数实现即可;

例如现在我想实现shift+I来实现一个功能,这个功能随便是什么,那么我的代码如下:

//这是widget.h
#include <QKeyEvent>

class ....
{
    ...
//在这里声明一个事件处理函数
public:
    void keyPressEvent(QKeyEvent* event);
}

 

//这是widget.cpp
#include "widget.h"

...
...
void widget::keyPressEvent(QKeyEvent* event)
{
    if (event->key() == Qt::Key_I && event->modifiers() == Qt::shiftModifier)
    {
        //处理你想做的事
    }
    else
    {
    }
}

系统检测到该组合键时他会自动执行该函数,并不需要你自己去做额外的操作。其他键只要你输入Qt::Key_他会自动显示出所有的按键。

 二. QMouseEvent鼠标事件

鼠标事件其实和键盘有相似之处,都有按压和释放两个重写函数,

不同的是鼠标有光标的位置,还有跟操作系统函数windows.h等联动

上一篇:算法【从递归入手二维动态规划】


下一篇:【Linux多线程】-Linux进程VS线程