#include <QtGui>
class CoolButton : public QToolButton
{
Q_OBJECT
private:
QIcon m_NormalIcon;
QIcon m_FocusIcon;
QIcon m_PressedIcon;
protected:
void enterEvent(QEvent *event);
void leaveEvent(QEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
public:
CoolButton(QWidget *parent = 0);
virtual ~CoolButton();
void SetButtonIcons(const QIcon &normal,
const QIcon &focus = QIcon(),
const QIcon &pressed = QIcon() );
};
CoolButton::CoolButton(QWidget *parent)
: QToolButton(parent)
{
//
为了让图标看起来自然一点而设置了这两个操?/p>
setDown(false);
setFocusPolicy(Qt::NoFocus);
}
CoolButton::~CoolButton()
{
}
//
重载“进入”和“离开”事件,进入时切换为另一个图标,离开时还?/p>
void CoolButton::enterEvent(QEvent *event)
{
if( isEnabled() && !m_FocusIcon.isNull() )