当鼠标悬停在父小部件上时(在“MyWidget”下方的代码片段中),我有一个小动画显示/隐藏一个框架。
动画只是改变了框架的 maximumWidth 属性,因此框架变得可见,就像一些“滑入效果”。(框架本身放置在网格布局中。)
我的问题是如何启动动画延迟?例子:鼠标离开事件后500ms开始,所以滑出效果延迟,没有立即开始。
void MyWidget::enterEvent( QEvent * event )
{
//slide-in effect
QPropertyAnimation *animation = new QPropertyAnimation(ui.frame_buttons, "maximumWidth");
animation->setDuration(1000);
animation->setStartValue(ui.frame_buttons->maximumWidth());
animation->setEndValue(100);
animation->setEasingCurve(QEasingCurve::InOutQuad);
animation->start();
}
void MyWidget::leaveEvent( QEvent * event )
{
//slide-out effect
QPropertyAnimation *animation = new QPropertyAnimation(ui.frame_buttons, "maximumWidth");
animation->setDuration(1000);
animation->setStartValue( ui.frame_buttons->maximumWidth() );
animation->setEndValue(0);
animation->setEasingCurve(QEasingCurve::InOutQuad);
//delay start() for a small amount of time
animation->start();
}