本文整理汇总了C++中QParallelAnimationGroup类的典型用法代码示例。如果您正苦于以下问题:C++ QParallelAnimationGroup类的具体用法?C++ QParallelAnimationGroup怎么用?C++ QParallelAnimationGroup使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QParallelAnimationGroup类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QParallelAnimationGroup
void QtMaemo6MenuProxy::hideWindow() {
const MWidgetFadeAnimationStyle *fadeOutStyle =
static_cast<const MWidgetFadeAnimationStyle *>(QtMaemo6StylePrivate::mStyle(QStyle::State_Active,
"MWidgetFadeAnimationStyle", "Out"));
QRect startGeometry = m_menu->geometry();
QRect finalGeometry = startGeometry;
finalGeometry.moveTo(finalGeometry.x(), finalGeometry.y() - finalGeometry.height());
QParallelAnimationGroup* animationGroup = new QParallelAnimationGroup();
QPropertyAnimation *widgetFadeOut = new QPropertyAnimation(animationGroup);
widgetFadeOut->setTargetObject(m_menu);
widgetFadeOut->setPropertyName("geometry");
widgetFadeOut->setDuration(fadeOutStyle->duration());
widgetFadeOut->setEasingCurve(fadeOutStyle->easingCurve());
widgetFadeOut->setStartValue(startGeometry);
widgetFadeOut->setEndValue(finalGeometry);
QPalette startPalette = m_appArea->palette();
QPalette finalPalette = startPalette;
startPalette.setBrush(QPalette::Window, QBrush(QColor(0, 0, 0, 0)));
QPropertyAnimation *backgroundFadeOut = new QPropertyAnimation(animationGroup);
backgroundFadeOut->setTargetObject(m_appArea);
backgroundFadeOut->setPropertyName("palette");
backgroundFadeOut->setDuration(fadeOutStyle->duration());
backgroundFadeOut->setEasingCurve(fadeOutStyle->easingCurve());
backgroundFadeOut->setStartValue(startPalette);
backgroundFadeOut->setEndValue(finalPalette);
connect(animationGroup, SIGNAL(finished()), this, SLOT(close()));
animationGroup->start(QAbstractAnimation::DeleteWhenStopped);
}
示例2: QParallelAnimationGroup
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);
}
示例3: setEnabled
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);
}
示例4: if
void HitExplosion::determined(Ts::DetermineValue value)
{
if (value == Ts::GOOD)
{
greatItem_->hide();
goodItem_->show();
}
else if (value == Ts::GREAT)
{
goodItem_->hide();
greatItem_->show();
}
else
{
return;
}
QParallelAnimationGroup *group = new QParallelAnimationGroup;
QPropertyAnimation *animation = new QPropertyAnimation(this,"opacity");
animation->setDuration(200);
animation->setKeyValueAt(0.0,0.0);
animation->setKeyValueAt(0.1,0.5);
animation->setKeyValueAt(0.9,0.5);
animation->setKeyValueAt(1.0,0.0);
group->addAnimation(animation);
show();
group->start(QAbstractAnimation::DeleteWhenStopped);
}
示例5: setEnabled
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
}
示例6: QPropertyAnimation
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);
}
示例7: QParallelAnimationGroup
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);
}
示例8: setPos
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);
}
示例9: setWindowFlags
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");
});
}
示例10: 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;
}
示例11: startZoomOutAnimation
void startZoomOutAnimation()
{
if (zoomedIndex < 0)
return;
int lm, tm, rm, bm;
m_public->getContentsMargins(&lm, &tm, &rm, &bm);
QRect adjustedGeo = m_public->geometry().adjusted(lm, tm, -rm, -bm);
int spacing = m_public->spacing();
QSize cellSize = calculateCellSize(adjustedGeo,spacing);
QParallelAnimationGroup * animGroup = new QParallelAnimationGroup;
for (int i = 0; i < list.size(); ++i) {
Wrapper * wr = list.at(i);
wr->item->widget()->show();
QPropertyAnimation * anim = new QPropertyAnimation(wr->item->widget(), "geometry");
anim->setEndValue(
calculateCellGeometry(
adjustedGeo, cellSize, spacing,
wr->row, wr->col, wr->rowSpan,wr->colSpan));
anim->setDuration(duration);
anim->setEasingCurve(easing);
animGroup->addAnimation(anim);
}
qApp->connect(animGroup, SIGNAL(finished()), m_public, SIGNAL(animationFinished()));
animationRunning = true;
animGroup->start(QAbstractAnimation::DeleteWhenStopped);
zoomedIndex = -1;
}
示例12: QParallelAnimationGroup
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);
}
}
示例13: _makeWidget
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()));
}
}
示例14: swap_values
void VisualTree::swap_values(VisualTreeElement *e1, VisualTreeElement *e2)
{
QParallelAnimationGroup * pgr = new QParallelAnimationGroup;
e1->setColor(Qt::cyan);
e2->setColor(Qt::cyan);
QPropertyAnimation *a1= new QPropertyAnimation(e1, "opacity");
a1->setDuration(1000);
a1->setStartValue(1);
a1->setEndValue(0);
QPropertyAnimation *a2= new QPropertyAnimation(e2, "opacity");
a2->setDuration(1000);
a2->setStartValue(1);
a2->setEndValue(0);
int tmp;
tmp = e1->getValue();
e1->setValue(e2->getValue());
e2->setValue(tmp);
pgr->addAnimation(a1);
pgr->addAnimation(a2);
pgr->start(QAbstractAnimation::DeleteWhenStopped);
connect(pgr, SIGNAL(finished()), this, SLOT(animationFinished()));
}
示例15: setOpacity
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);
}