当前位置: 首页 > article >正文

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));


http://www.kler.cn/a/512662.html

相关文章:

  • TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文
  • leetcode——找到字符串中所有字母异位词(java)
  • 第10章:Python TDD优化货币类方法与引入工厂方法
  • Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL
  • 54,【4】BUUCTF WEB GYCTF2020Ezsqli
  • 大语言模型的语境中“越狱”和思维链
  • leetcode刷题记录(七十二)——146. LRU 缓存
  • Docker 单机快速部署大数据各组件
  • 力扣10-搜索插入位置
  • uni-app连接EventSource
  • 嵌入式硬件篇---ADC模拟-数字转换
  • MySQL表的增删改查(基础)CRUD
  • 【PCIe 总线及设备入门学习专栏 6.2 -- PCIe VDM (Vendor Defined Messages)】
  • Kubernetes 集群网络及服务暴露方式详解
  • 【Linux 重装】Ubuntu 启动盘 U盘无法被识别,如何处理?
  • 一款功能强大的互联网资产测绘引擎-CyberEdge
  • Dockerfile -> Docker image -> Docker container
  • Docker 学习总结(85)—— docker cp 使用总结
  • 2025 最新flutter面试总结
  • 不用编程即可实现多台PLC的MQTT协议JSON文件发布与订阅的智能网关的配置说明
  • Slate文档编辑器-Node节点与Path路径映射
  • dl学习笔记:(5)深度神经网络的正向传播
  • 使用minio高性能存储图片
  • 电子应用设计方案91:智能AI花洒系统设计
  • C# 常用的文件处理方法
  • 【STM32-学习笔记-12-】PWR电源控制