一.Qt中的事件介绍
Qt中事件以QEvent为基类不断衍生出如鼠标事件,键盘事件,定时事件,拖放事件,绘制事件等各类事件,普通常用类的事件可以通过重写父类的PaintEvent(),mousePressEvent()等事件函数来处理特定事件。
二.键盘事件
void keyPressEvent(QKeyEvent* event); 键盘按下事件
void keyReleaseEvent(QKeyEvent* event); 键盘释放事件
三.鼠标事件
void mousePressEvent(QMouseEvent* event); 鼠标单击事件
void mouseReleaseEvent(QMouseEvent* event); 鼠标释放事件
void mouseDoubleClickEvent(QMuoseEvent* event); 鼠标双击事件
void mouseMoveEvent(QMouseEvent* event); 鼠标移动事件,需要用setMouseTracking(true)设置才能实时获取到鼠标位置
void wheelEvent(QWheelEvent* event); 鼠标的滚轮滑动事件
四.事件过滤器
安装事件过滤器 installEventFilter();
重写事件过滤器 bool eventFilter()
event->ignore(); 忽略事件
五.定时器事件
void timerEvent(QTimerEvent* event); 定时器事件
QTimer 定时器类
startTimer(); 设置定时器
六.拖拽事件
void dragEnterEvent(QDragEnterEvent* event); 拖拽事件
void dropEvent(QDropEvent* event); 放下事件
setAcceptDrops(true); 接受拖拽事件