mouseMoveEvent是鼠标移动,拖动按下左键的事件。
enterEvent是鼠标移入。
leaveEvent是鼠标移出
widget.h
1 #ifndef WIDGET_H
2 #define WIDGET_H
3
4 #include <QWidget>
5 #include<QEvent>
6 namespace Ui {
7 class Widget;
8 }
9
10 class Widget : public QWidget
11 {
12 Q_OBJECT
13 protected:
14 void enterEvent(QEvent *);
15 void leaveEvent(QEvent *);
16 public:
17 explicit Widget(QWidget *parent = 0);
18 ~Widget();
19
20 private:
21 Ui::Widget *ui;
22 };
23
24 #endif // WIDGET_H
widget.cpp
1 #include "widget.h"
2 #include "ui_widget.h"
3 #include<QDebug>
4 Widget::Widget(QWidget *parent) :
5 QWidget(parent),
6 ui(new Ui::Widget)
7 {
8 ui->setupUi(this);
9 }
10
11 Widget::~Widget()
12 {
13 delete ui;
14 }
15 void Widget::enterEvent(QEvent *)
16 {
17 qDebug()<<"鼠标移入";
18 }
19 void Widget::leaveEvent(QEvent *)
20 {
21 qDebug()<<"鼠标移出";
22 }
运行,放入鼠标 移出鼠标。
Starting E:\qtcreatorprojects\build-untitled2-Desktop_Qt_5_4_0_MinGW_32bit-Debug\debug\untitled2.exe...
鼠标移入
鼠标移出