编程不仅仅是为了解决问题而存在,更多的是编出一个良好有用的API函数出来,为日后进行维护、拓展、可重用打下基础。
要想实现按钮正常、滑过、按下的效果很简单,比如最小化、最大化、关闭按钮等,这需要用到用到Qt的鼠标事件、状态机、绘图事件,我继承了QPushButton,当然你想继承QWidget也是可以的,方法多样。
鼠标事件:
void enterEvent(QEvent *);//进入事件
void leaveEvent(QEvent *);//离开事件
void mousePressEvent(QMouseEvent *event); //鼠标按下事件
void mouseReleaseEvent(QMouseEvent *event); //鼠标释放事件
状态机:
enum ButtonStatus{NORMAL, HOVER, PRESS}; //枚举按钮的几种状态
ButtonStatus status;
绘图事件&