本文整理汇总了C++中QParallelAnimationGroup::addAnimation方法的典型用法代码示例。如果您正苦于以下问题:C++ QParallelAnimationGroup::addAnimation方法的具体用法?C++ QParallelAnimationGroup::addAnimation怎么用?C++ QParallelAnimationGroup::addAnimation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QParallelAnimationGroup
的用法示例。
在下文中一共展示了QParallelAnimationGroup::addAnimation方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _showBarraBusqueda
void MayaModule::_showBarraBusqueda(BarraBusqueda *b)
{
if(!_b_reducida)
return;
b->setGeometry(0,40,0,this->height()-60);
b->show();
QPropertyAnimation* animation0 = new QPropertyAnimation(b, "size",this);
connect(animation0,SIGNAL(finished()),animation0,SLOT(deleteLater()));
animation0->setDuration(1000);
animation0->setEasingCurve(QEasingCurve::OutElastic);
animation0->setStartValue(QSize(0,b->height()));
animation0->setEndValue(QSize(250,b->height()));
QPropertyAnimation* animation = new QPropertyAnimation(b, "pos",this);
animation->setDuration(1000);
animation->setEasingCurve(QEasingCurve::OutElastic);
animation->setStartValue(QPoint(this->width(),b->pos().y()));
animation->setEndValue(QPoint(this->width()-250,b->pos().y()));
QParallelAnimationGroup *group = new QParallelAnimationGroup(this);
group->addAnimation(animation);
group->addAnimation(animation0);
connect(group,SIGNAL(finished()),group,SLOT(deleteLater()));
group->start();
_b_reducida = false;
b->setShow(true);
}
示例2: closeAnimation
void AbstractClipItem::closeAnimation()
{
if (!isEnabled()) return;
setEnabled(false);
setFlag(QGraphicsItem::ItemIsSelectable, false);
if (QApplication::style()->styleHint(QStyle::SH_Widget_Animate, 0, QApplication::activeWindow())) {
// animation disabled
deleteLater();
return;
}
QPropertyAnimation *closeAnimation = new QPropertyAnimation(this, "rect");
QPropertyAnimation *closeAnimation2 = new QPropertyAnimation(this, "opacity");
closeAnimation->setDuration(200);
closeAnimation2->setDuration(200);
QRectF r = rect();
QRectF r2 = r;
r2.setLeft(r.left() + r.width() / 2);
r2.setTop(r.top() + r.height() / 2);
r2.setWidth(1);
r2.setHeight(1);
closeAnimation->setStartValue(r);
closeAnimation->setEndValue(r2);
closeAnimation->setEasingCurve(QEasingCurve::InQuad);
closeAnimation2->setStartValue(1.0);
closeAnimation2->setEndValue(0.0);
QParallelAnimationGroup *group = new QParallelAnimationGroup;
connect(group, SIGNAL(finished()), this, SLOT(deleteLater()));
group->addAnimation(closeAnimation);
group->addAnimation(closeAnimation2);
group->start(QAbstractAnimation::DeleteWhenStopped);
}
示例3: animateNextEpisode
void UnseenEpisodeWidget::animateNextEpisode()
{
_currentWidget->setEnabled(false);
_nextWidget = _makeWidget();
if (_nextWidget) {
layout()->addWidget(_nextWidget);
_currentWidget->setMinimumWidth(_currentWidget->width());
_nextWidget->setMinimumWidth(_currentWidget->width());
QPoint finalPos = _currentWidget->pos();
int duration = 600;
QPropertyAnimation *slideOut = new QPropertyAnimation(_currentWidget, "pos", this);
slideOut->setDuration(duration);
slideOut->setStartValue(finalPos);
slideOut->setEndValue(QPoint(finalPos.x() - _currentWidget->width(), finalPos.y()));
slideOut->setEasingCurve(QEasingCurve::OutQuart);
QPropertyAnimation *slideIn = new QPropertyAnimation(_nextWidget, "pos", this);
slideIn->setDuration(duration);
slideIn->setStartValue(QPoint(finalPos.x() + _currentWidget->width(), finalPos.y()));
slideIn->setEndValue(finalPos);
slideIn->setEasingCurve(QEasingCurve::OutQuart);
QParallelAnimationGroup *group = new QParallelAnimationGroup(_currentWidget);
group->addAnimation(slideOut);
group->addAnimation(slideIn);
group->start(QAbstractAnimation::DeleteWhenStopped);
group->connect(group, SIGNAL(finished()), this, SLOT(setupNewCurrent()));
}
}
示例4: InitializeAnimations
void EtherMenu::InitializeAnimations()
{
for(int i=0; i<objects_.size();i++)
{
QParallelAnimationGroup* animgroup = new QParallelAnimationGroup();
QPropertyAnimation* anim1 = new QPropertyAnimation(objects_.at(i), "pos");
anim1->setDuration(300);
anim1->setEasingCurve(QEasingCurve::InOutSine);
QPropertyAnimation* anim2 = new QPropertyAnimation(objects_.at(i), "scale");
anim2->setDuration(300);
anim2->setEasingCurve(QEasingCurve::InOutSine);
QPropertyAnimation* anim3 = new QPropertyAnimation(objects_.at(i), "opacity");
anim3->setDuration(300);
anim3->setEasingCurve(QEasingCurve::InQuad);
QPropertyAnimation* anim4 = new QPropertyAnimation(objects_.at(i), "z");
anim3->setDuration(300);
anim3->setEasingCurve(QEasingCurve::Linear);
animgroup->addAnimation(anim1);
animgroup->addAnimation(anim2);
animgroup->addAnimation(anim3);
animgroup->addAnimation(anim4);
animations_->addAnimation(animgroup);
objects_.at(i)->SetMoveAnimationPointer(anim1);
}
}
示例5: _hideBarraBusqueda
void MayaModule::_hideBarraBusqueda(BarraBusqueda *b)
{
if(_b_reducida)
return;
QPropertyAnimation* animation0 = new QPropertyAnimation(b, "size",this);
connect(animation0,SIGNAL(finished()),animation0,SLOT(deleteLater()));
animation0->setDuration(300);
animation0->setEasingCurve(QEasingCurve::Linear);
animation0->setStartValue(QSize(250,b->height()));
animation0->setEndValue(QSize(20,b->height()));
QPropertyAnimation* animation = new QPropertyAnimation(b, "pos",this);
animation->setDuration(200);
animation->setEasingCurve(QEasingCurve::Linear);
animation->setStartValue(QPoint(this->width()-250,b->pos().y()));
animation->setEndValue(QPoint(this->width()-20,b->pos().y()));
QParallelAnimationGroup *group = new QParallelAnimationGroup(this);
group->addAnimation(animation);
group->addAnimation(animation0);
connect(group,SIGNAL(finished()),group,SLOT(deleteLater()));
group->start();
_b_reducida = true;
b->setShow(false);
}
示例6: goBack
void CardItem::goBack(bool kieru){
if(home_pos == pos()){
if(kieru)
setOpacity(0.0);
return;
}
QPropertyAnimation *goback = new QPropertyAnimation(this, "pos");
goback->setEndValue(home_pos);
goback->setEasingCurve(QEasingCurve::OutBounce);
if(kieru){
QParallelAnimationGroup *group = new QParallelAnimationGroup;
QPropertyAnimation *disappear = new QPropertyAnimation(this, "opacity");
disappear->setKeyValueAt(0.9, 1.0);
disappear->setEndValue(0.0);
goback->setDuration(1000);
disappear->setDuration(1000);
group->addAnimation(goback);
group->addAnimation(disappear);
group->start(QParallelAnimationGroup::DeleteWhenStopped);
}else
goback->start(QPropertyAnimation::DeleteWhenStopped);
}
示例7: animShowLyricWidget
void MainWidget::animShowLyricWidget() {
if (isLyricWidgetShowing() || isAnimationStarted()) return;
this->animStart();
this->setMaximumHeight(this->height() + ui->lyricWidget->height());
QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this);
QPoint lyric_cur = ui->lyricWidget->pos();
QRect self_cur = this->geometry();
QPropertyAnimation *lyric_anim = new QPropertyAnimation(ui->lyricWidget, "pos");
lyric_anim->setDuration(400);
lyric_anim->setStartValue(lyric_cur);
lyric_cur.setY(ui->controlWidget->height());
lyric_anim->setEndValue(lyric_cur);
lyric_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(lyric_anim);
QPropertyAnimation *self_anim = new QPropertyAnimation(this, "geometry");
self_anim->setDuration(400);
self_anim->setStartValue(self_cur);
self_cur.setHeight(ui->controlWidget->height() + ui->lyricWidget->height());
self_anim->setEndValue(self_cur);
self_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(self_anim);
connect(animgroup, &QAnimationGroup::finished, [=] () {
_isLyricWidgetShowing = true;
animFinish();
ui->pauseWidget->setGeometry(0, 0, ui->pauseWidget->geometry().width(), this->geometry().height());
this->setMinimumHeight(this->height());
ui->lyricWidget->setShowing(true);
});
animgroup->start(QAbstractAnimation::DeleteWhenStopped);
}
示例8: closeAnimation
void AbstractClipItem::closeAnimation()
{
#if QT_VERSION >= 0x040600
if (!isEnabled()) return;
setEnabled(false);
setFlag(QGraphicsItem::ItemIsSelectable, false);
if (!(KGlobalSettings::graphicEffectsLevel() & KGlobalSettings::SimpleAnimationEffects)) {
// animation disabled
deleteLater();
return;
}
QPropertyAnimation *closeAnimation = new QPropertyAnimation(this, "rect");
QPropertyAnimation *closeAnimation2 = new QPropertyAnimation(this, "opacity");
closeAnimation->setDuration(200);
closeAnimation2->setDuration(200);
QRectF r = rect();
QRectF r2 = r;
r2.setLeft(r.left() + r.width() / 2);
r2.setTop(r.top() + r.height() / 2);
r2.setWidth(1);
r2.setHeight(1);
closeAnimation->setStartValue(r);
closeAnimation->setEndValue(r2);
closeAnimation->setEasingCurve(QEasingCurve::InQuad);
closeAnimation2->setStartValue(1.0);
closeAnimation2->setEndValue(0.0);
QParallelAnimationGroup *group = new QParallelAnimationGroup;
connect(group, SIGNAL(finished()), this, SLOT(deleteLater()));
group->addAnimation(closeAnimation);
group->addAnimation(closeAnimation2);
group->start(QAbstractAnimation::DeleteWhenStopped);
#endif
}
示例9: animHideChannelWidget
void mainwidget::animHideChannelWidget(bool immediately) {
if (!_isChannelWidgetShowing && !immediately) return;
QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this);
QPropertyAnimation *control_anim = new QPropertyAnimation(ui->controlWidget, "pos");
control_anim->setDuration(400);
control_anim->setStartValue(ui->controlWidget->pos());
QPoint endpos = ui->controlWidget->pos();
endpos.setY(0);
control_anim->setEndValue(endpos);
control_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(control_anim);
QPropertyAnimation *main_anim = new QPropertyAnimation(this, "geometry");
main_anim->setDuration(400);
main_anim->setStartValue(this->geometry());
QRect endval2 = this->geometry();
endval2.setHeight(ui->controlWidget->geometry().height());
main_anim->setEndValue(endval2);
main_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(main_anim);
connect(animgroup, &QParallelAnimationGroup::finished, [this] () {
_isChannelWidgetShowing = false;
QRect pauseGeo = ui->pauseWidget->geometry();
pauseGeo.setHeight(this->geometry().height());
ui->pauseWidget->setGeometry(pauseGeo);
this->setMaximumHeight(pauseGeo.height());
});
animgroup->start(QAbstractAnimation::DeleteWhenStopped);
}
示例10: startAt
void ReticleItem::startAt(const QPoint& pos)
{
if (m_animation)
m_animation->stop();
setPos(pos.x(), pos.y());
setVisible(true);
setOpacity(1);
setScale(1);
QPropertyAnimation* opacityAnimation = new QPropertyAnimation(this, "opacity");
opacityAnimation->setDuration(AS(reticleDuration));
opacityAnimation->setStartValue(1.0);
opacityAnimation->setEndValue(0.0);
opacityAnimation->setEasingCurve(AS_CURVE(reticleCurve));
QPropertyAnimation* scaleAnimation = new QPropertyAnimation(this, "scale");
scaleAnimation->setDuration(AS(reticleDuration));
scaleAnimation->setStartValue(1.0);
scaleAnimation->setEndValue(1.5);
scaleAnimation->setEasingCurve(AS_CURVE(reticleCurve));
QParallelAnimationGroup* reticleAnimation = new QParallelAnimationGroup;
reticleAnimation->addAnimation(opacityAnimation);
reticleAnimation->addAnimation(scaleAnimation);
QPropertyAnimation* visibility = new QPropertyAnimation(this, "visible");
visibility->setEndValue(false);
visibility->setDuration(0);
m_animation = new QSequentialAnimationGroup;
m_animation->addAnimation(reticleAnimation);
m_animation->addAnimation(visibility);
m_animation->start(QAbstractAnimation::DeleteWhenStopped);
}
示例11: animShowChannelWidget
void mainwidget::animShowChannelWidget() {
if (_isChannelWidgetShowing) return;
this->setMaximumHeight(this->controlPanel()->geometry().height()
+ ui->channelWidget->geometry().height());
QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this);
QPropertyAnimation *control_anim = new QPropertyAnimation(ui->controlWidget, "pos");
control_anim->setDuration(400);
control_anim->setStartValue(ui->controlWidget->pos());
QPoint endpos = ui->controlWidget->pos();
endpos.setY(ui->channelWidget->geometry().height());
control_anim->setEndValue(endpos);
control_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(control_anim);
QPropertyAnimation *main_anim = new QPropertyAnimation(this, "geometry");
main_anim->setDuration(400);
main_anim->setStartValue(this->geometry());
QRect endval2 = this->geometry();
endval2.setHeight(endval2.height() + ui->channelWidget->geometry().height());
main_anim->setEndValue(endval2);
main_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(main_anim);
connect(animgroup, &QParallelAnimationGroup::finished, [this] () {
_isChannelWidgetShowing = true;
ui->pauseWidget->setGeometry(0, 0, ui->pauseWidget->geometry().width(), this->geometry().height());
});
animgroup->start(QAbstractAnimation::DeleteWhenStopped);
}
示例12: QPropertyAnimation
QAbstractAnimation *CardItem::getGoBackAnimation(bool doFade, bool smoothTransition, int duration) {
m_animationMutex.lock();
if (m_currentAnimation != NULL) {
m_currentAnimation->stop();
delete m_currentAnimation;
m_currentAnimation = NULL;
}
QPropertyAnimation *goback = new QPropertyAnimation(this, "pos");
goback->setEndValue(home_pos);
goback->setEasingCurve(QEasingCurve::OutQuad);
goback->setDuration(duration);
if (doFade) {
QParallelAnimationGroup *group = new QParallelAnimationGroup;
QPropertyAnimation *disappear = new QPropertyAnimation(this, "opacity");
double middleOpacity = qMax(opacity(), m_opacityAtHome);
if (middleOpacity == 0) middleOpacity = 1.0;
disappear->setEndValue(m_opacityAtHome);
if (!smoothTransition) {
disappear->setKeyValueAt(0.2, middleOpacity);
disappear->setKeyValueAt(0.8, middleOpacity);
disappear->setDuration(duration);
}
group->addAnimation(goback);
group->addAnimation(disappear);
m_currentAnimation = group;
} else {
m_currentAnimation = goback;
}
m_animationMutex.unlock();
connect(m_currentAnimation, SIGNAL(finished()), this, SIGNAL(movement_animation_finished()));
return m_currentAnimation;
}
示例13: startingAnimation
void CMainWindow::startingAnimation()
{
setWindowFlags(Qt::Window | Qt::FramelessWindowHint); //FramelessWindowHint wymagane do przezroczystego t³a
setAttribute(Qt::WA_TranslucentBackground, true);
QRect screenRect = QApplication::desktop()->screenGeometry();
QSequentialAnimationGroup *group = new QSequentialAnimationGroup(this);
QPropertyAnimation* fadeIn = new QPropertyAnimation(this, "windowOpacity", this);
fadeIn->setDuration(2000);
fadeIn->setStartValue(0.0);
fadeIn->setEndValue(1.0);
group->addAnimation(fadeIn);
QParallelAnimationGroup *moveGroup = new QParallelAnimationGroup(this);
QPropertyAnimation* imageRight = new QPropertyAnimation(pandemicImage, "geometry", this);
imageRight->setStartValue(pandemicImage->geometry());
imageRight->setEndValue(pandemicImage->geometry().translated(screenRect.width() - pandemicImage->geometry().right(), 0));
imageRight->setDuration(1000);
imageRight->setEasingCurve(QEasingCurve::InOutCubic);
moveGroup->addAnimation(imageRight);
QPropertyAnimation* menuLeft = new QPropertyAnimation(menu, "geometry", this);
menuLeft->setStartValue(menu->geometry());
menuLeft->setEndValue(QRect(0,0, screenRect.width()-pandemicImage->width()+1, menu->height()));
menuLeft->setDuration(1000);
menuLeft->setEasingCurve(QEasingCurve::InOutCubic);
moveGroup->addAnimation(menuLeft);
group->addAnimation(moveGroup);
group->start();
connect(group, &QSequentialAnimationGroup::finished, [this]() {
content->setObjectName("body");
});
}
示例14: animateMoveToPos
int LinearLayoutActor::animateMoveToPos(qreal endMainProportion, qreal endCrossProportion, int duration, int initialDelay)
{
QParallelAnimationGroup* groupAnimation = new QParallelAnimationGroup(this);
groupAnimation->addAnimation( createMoveToAnimation("mainStart", endMainProportion, mainStart, duration, initialDelay) );
groupAnimation->addAnimation( createMoveToAnimation("crossStart", endCrossProportion, crossStart, duration, initialDelay) );
groupAnimation->start();
return VisualizationSpeed::getInstance().adjust(duration);
}
示例15: animHideChannelWidget
void MainWidget::animHideChannelWidget() {
if (!isChannelWidgetShowing() || isAnimationStarted()) return;
this->animStart();
QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this);
if (this->height() == ui->channelWidget->height() + ui->controlWidget->height()) {
this->setMinimumHeight(ui->controlWidget->height());
QPropertyAnimation *main_anim = new QPropertyAnimation(this, "geometry");
main_anim->setDuration(400);
main_anim->setStartValue(this->geometry());
QRect endval2 = this->geometry();
endval2.setHeight(endval2.height() - ui->channelWidget->height());
main_anim->setEndValue(endval2);
main_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(main_anim);
}
QPropertyAnimation *control_anim = new QPropertyAnimation(ui->controlWidget, "pos");
control_anim->setDuration(400);
control_anim->setStartValue(ui->controlWidget->pos());
QPoint endpos = ui->controlWidget->pos();
endpos.setY(0);
control_anim->setEndValue(endpos);
control_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(control_anim);
QPropertyAnimation *topborder_anim = new QPropertyAnimation(this->topBorder, "pos");
topborder_anim->setDuration(400);
QPoint topborder_pos = topBorder->pos();
topborder_anim->setStartValue(topborder_pos);
topborder_pos.setY(-topBorder->height());
topborder_anim->setEndValue(topborder_pos);
topborder_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(topborder_anim);
QPropertyAnimation *bottomborder_anim = new QPropertyAnimation(this->bottomBorder, "pos");
bottomborder_anim->setDuration(400);
QPoint bottomborder_pos = bottomBorder->pos();
bottomborder_anim->setStartValue(bottomborder_pos);
bottomborder_pos.setY(ui->controlWidget->height());
bottomborder_anim->setEndValue(bottomborder_pos);
bottomborder_anim->setEasingCurve(QEasingCurve::OutCubic);
animgroup->addAnimation(bottomborder_anim);
connect(animgroup, &QParallelAnimationGroup::finished, [this] () {
_isChannelWidgetShowing = false;
this->animFinish();
QRect pauseGeo = ui->pauseWidget->geometry();
pauseGeo.setHeight(this->geometry().height());
ui->pauseWidget->setGeometry(pauseGeo);
this->setMaximumHeight(this->height());
});
animgroup->start(QAbstractAnimation::DeleteWhenStopped);
}