Qt实现侧边栏隐藏与呈现

1.需求

一:

实现侧边栏的隐藏与呈现

二:

使用侧边栏可以将一些不用的功能隐藏,使用的时候点击按钮以动画的方式弹出功能菜单,减少主界面控制数量,也使主界面更加美观。

2.使用到的类库QPropertyAnimation

QPropertyAnimation是Qt自带的动画类,该类可以实现简单的控制动画。比如对控件的移动,缩放,不透明度这些动画效果。

移动:

主要实现移动效果,比如从某个点移动到另一个点。

缩放:

实现缩放和移动效果,该属性可以实现控件的缩放,并且在缩放的基础上还能实现移动。

不透明度

实现控件的透明度设置

3.QPropertyAnimation构造函数解释

QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = Q_NULLPTR);

target:

若要使某个控件实现动画效果,需要在构造QPropertyAnimation类时将控件指针传入target。

propertyName:

常见的属性有位置:pos、几何尺寸:geometry,两者区别为在设置位置时前者采用QPoint,后者采用QRect。

parent:

父类指针

4.QPropertyAnimation常用方法

setDuration(int msecs):

设置动画的持续时间,单位为毫秒

setStartValue(const QVariant &value):

设置动画的起始值

setEndValue(const QVariant &value):

设置动画的结束值

start(QAbstractAnimation::DeletionPolicy policy = KeepWhenStopped):

启动动画

stop():

停止动画

pause():

暂停动画

resume():

恢复动画

5.实现效果

看资源绑定

6.核心代码

//隐藏
        double widgetW = ui->widget->width();
        QPropertyAnimation *propertyAnimation = new QPropertyAnimation(this,"pos");
        propertyAnimation->setEasingCurve(QEasingCurve::InOutCubic);
        propertyAnimation->setDuration(1000);
        propertyAnimation->setStartValue(pos());
        propertyAnimation->setEndValue(pos() - QPointF(widgetW,0).toPoint());
        propertyAnimation->start();
        ui->pushButton->setText("显示");
        btn->setProperty("IsVisble",false);

显示只需要将开始和结束的值互换或者设置属性setDirection(),正方向:mation::Forward;反方向:mation::Backward。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五_谷_丰_登

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

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

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

打赏作者

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

抵扣说明:

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

余额充值