Qt Animation左右移动动画效果

本文探讨如何在Qt中实现搜索框点击搜索按钮时的左右移动动画效果。内容涉及QPropertyAnimation的使用,以及如何处理边界隐藏和动画完成后的状态设置。通过在lineedit外包装widget来实现动画消失和出现的边界行为。
摘要由CSDN通过智能技术生成

在项目中遇到一个问题,具体要求是搜索框点击搜索按钮,当搜索框出现时,向右移动慢慢的出现,消失时向左动画效果慢慢地消失。问题如下:

  • 动画出现和消失的时候是有边界的,怎么做出在边界消失和出现的行为?
    有两种处理方式,一种是在lineedit外面再套一个widget,设置animation的pos属性。这样当lineedit移动出widget的时候就隐藏了。另一种方式是设置animation的长度属性。本文主要针对的一种方式实现展开,第二种并没有去验证。

  • 最开始搜索框是不可见的,出现后设置为可见,消失的时候要设回为不可见,那么消失的动画还怎么显示?
    在lineedit缩回去的时候,绑定animation的finish信号,当animation完成的时候再设置不可见。

Qt移动动画相关知识:

  • QPropertyAnimation:属性动画,可以参考qt 窗口动画
  • QGraphicsOpacityEffect:窗口透明度设置类,继承自QGraphicsEffect
  • QGraphicsDropShadowEffect:窗口阴影,继承自QGraphicsEffect
  • QGraphicsBlurEffect:滤镜,继承自QGraphicsEffect
  • QGraphicsColorizeEffect:着色,继承自QGraphicsEffect
QPropertyAnimation* animation = new QPropertyAnimation(qlineedit,"pos");
//这里的坐标都是动画相对于他的目标对象当前坐标的相对坐标
animation->setStartValue(QPoint(-qlineedit->width(),0);
animation->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值