通过在头文件添加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等联动