mouseMoveEvent是鼠标移动,拖动按下左键的事件。
enterEvent是鼠标移入。 leaveEvent是鼠标移出。
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include<QEvent> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT protected: void enterEvent(QEvent *); void leaveEvent(QEvent *); public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Ui::Widget *ui; }; #endif // WIDGET_H
widget.cpp
#include "widget.h" #include "ui_widget.h" #include<QDebug> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widget() { delete ui; } void Widget::enterEvent(QEvent *) { qDebug()<<"鼠标移入"; } void Widget::leaveEvent(QEvent *) { qDebug()<<"鼠标移出"; }
运行,放入鼠标 移出鼠标。
鼠标移入
鼠标移出