本文主要总结了一个用Qt5.9Creator获取鼠标的位置和用键盘移动按钮的例子,该例子的具体功能是:按下鼠标时按钮会显示当前鼠标位置;按下鼠标不放移动时,labal标签会显示鼠标实时位置;分别按下键盘的W,S,A,D键时,按钮向上,下,左,右移动10ms距离。该例子的具体实现过程如下所述。
一、原理详解
按下鼠标和按下键盘等都是一个事件。事件是对各种应用程序需要知道的由应用程序外部(或内部)产生的动作(或事件)的通称。事件比信号更加底层,比如点击鼠标事件,触发clicked()信号。
二、编写一个获取鼠标位置和用键盘移动按钮例子
2.1用Qt5.9Creator构建一个基类为widget的工程。
2.2在界面上拖入一个pushbutton按钮和labal标签,如下图所示:
2.2在widget.h头文件中,添加如下代码:
#include <QMouseEvent>
#include <QKeyEvent>
2.3在类class Widget : public QWidget里面,添加如下函数:
protected:
void mousePressEvent(QMouseEvent *);//鼠标按下事件
void mouseMoveEvent(QMouseEvent *);//鼠标拖动事件