有时候,有必要当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消息