有時候,有必要當QPushButton為Hover狀態的時候能發生消息,以便能執行一些動作,當時QPushButton并沒有相應的信號。
我訂制的QHoverButton如下:
class QHoverButton : public QPushButton
{
Q_OBJECT
public:
QHoverButton(QWidget* parent = 0);
QHoverButton(const QString &text,QWidget* parent = 0);
~QHoverButton();
signals:
void enter();
void denter();
private:
void enterEvent(QEvent* event);
void leaveEvent(QEvent* event);
};
QHoverButton::QHoverButton(QWidget* parent):
QPushButton(parent)
{
}
QHoverButton::QHoverButton(const QString &text,QWidget* parent):
QPushButton(text,parent)
{
}
QHoverButton::~QHoverButton()
{
}
void QHoverButton::enterEvent(QEvent* event)
{
emit enter();
}
void QHoverButton::leaveEvent(QEvent* event)
{
emit denter();
}
在這里使用QWidget虛函數enterEvent,leaveEvent來發送hover消息