Qt -- 鼠标移入移出事件 enterEvent、leaveEvent

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()<<"鼠标移出";
}

  

运行,放入鼠标 移出鼠标。

鼠标移入

鼠标移出

原文地址:https://www.cnblogs.com/zzzsj/p/14446499.html