在绘制界面的时候,我们经常会遇到一个按钮在鼠标指向、点击、以及离开的时候显示不同的状态,他是怎么实现的呢?
答案起始很简单,就是更改这个button的填充图片
指向、点击、以及离开显示不同的图案,可以给出不同的效果
我们首先构建素材 如果一个button是一个n*n的图片 那么我们的素材选择一个4*n*n的图片 效果如下
鼠标的离开 进入 点击分别对应上图中前三个状态 最后一个代表禁止使用
实现过程:
一、h文件声明
class main3Button:public QPushButton
{
Q_OBJECT
public:
main3Button(QString pix_listurl,QWidget*parent);
protected:
void paintEvent(QPaintEvent *);
void enterEvent(QEvent *);
void leaveEvent(QEvent*);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e) override;
private:
QList<QPixmap> m_pixlist;
int m_index;
bool m_enter;
};