有時候,有必要當(dāng)QPushButton為Hover狀態(tài)的時候能發(fā)生消息,以便能執(zhí)行一些動作,當(dāng)時QPushButton并沒有相應(yīng)的信號。
我訂制的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虛函數(shù)enterEvent,leaveEvent來發(fā)送hover消息