Qt之QPropertyAnimation 在动画中改变控件大小时需要注意

44 篇文章 208 订阅 ¥29.90 ¥99.00

        在Qt中封装了专门处理动画的框架类QPropertyAnimation,在初始使用QPropertyAnimation时我遇到了一个问题,那就是随着时间的改变我设置控件的"geometry"属性却只是改变了控件的位置,而控件大小却没有改变。

        源代码如下:

//新建一个控件
QPushButton *pButton = new QPushButton(this);
pButton->setFixedSize(100, 100);

//建立动画
QPropertyAnimation *anim = new QPropertyAnimation(pButton, "geometry");
anim->setDuration(1000);
anim->setKeyValueAt(0, QRect(0, 0, 100, 100));
anim->setKeyValueAt(1, QRect(0, 0, 10, 10));
anim->setEasingCurve(QEasingCurve::InCubic);
anim->start();

        后来我发现因为在动画中需要设置的是"geometry"属性,而我在开始时却以setFixedSize()去设置控件属性所以才导致的是只能改变控件的位置而不能改变控件大小。

        修改后如下:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ilson_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值