自学内容网 自学内容网

QT:IconButton的动画效果

要实现IconButton,需要处理背景。参考:

QT之IconWidget-CSDN博客

随后就是Button的按下动画效果。实现也简单。思路就是记录按下状态,然后在绘制时偏移一个像素(也可以绘制另外一个图)。

  • 增加一个字段,记录按下状态:
bool    mPressedState;
  • 重载4个函数
    void keyPressEvent(QKeyEvent *e) override;
    void keyReleaseEvent(QKeyEvent *e) override;
    void mousePressEvent(QMouseEvent *e) override;
    void mouseReleaseEvent(QMouseEvent *e) override;
  • 重载paintEvent() 
    int move = mPressedState ? 1 : 0;
    painter.drawPixmap(move, move, mPixmap->scaled(this->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));


原文地址:https://blog.csdn.net/quantum7/article/details/145206208

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!