QLineEdit mouseOver()和mouseOut()事件

问题描述 投票:0回答:1

我想继承QLineEdit,为它添加一些信号,如mouseEnter()mouseExit(),以便在鼠标光标在窗口小部件上时离开它时获得通知。我可以写下面的mouseEnter()

class MyLineEdit:public QLineEdit{
//
// ..
//
protected: 
    void mouseMoveEvent(QMouseEvent *e);

signals:
    void mouseEnter();
}

void MyLineEdit::mouseMoveEvent(QMouseEvent *e)
{
    emit mouseEnter();
    QLineEdit::mouseMoveEvent(e);
}

它工作正常。我怎么写mouseExit()

qt qlineedit
1个回答
1
投票

leaveEvent不是一个很好的名字!

#include <QtGui>
#include <QEvent>

class Editor : public QLineEdit
{
    Q_OBJECT

public:
    void leaveEvent(QEvent *);

signals:
    void mouseLeave();
};

void Editor::leaveEvent(QEvent *e);
{
    qDebug() << "Mouse has left the building..";
    emit mouseLeave();
}
© www.soinside.com 2019 - 2024. All rights reserved.