2013-03-16 22 views
0

我想繼承QLineEdit的給它添加一些信號如的mouseenter()mouseExit()成爲明智的,當鼠標駿馬是在該Widget以及何時離開它。 我可以寫下mouseEnter()像下面這樣。QLineEdit的的mouseenter()和mouseExit()事件

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

signals: 
    void mouseEnter(); 
} 

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

它工作正常。 我該怎麼寫mouseExit()? 謝謝

+0

http://qt-project.org/doc/qt-4.8/qwidget.html#leaveEvent; http://qt-project.org/doc/qt-4.8/qwidget.html#enterEvent – Mat 2013-03-16 11:11:08

回答

0

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(); 
}