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()<<"鼠標移出"; }
運行,放入鼠標 移出鼠標。
鼠標移入
鼠標移出