Seite 1 von 1

Slide in/out Animation

Verfasst: 21. März 2015 17:55
von R0b
Hallo Leute,

ich verzweifel gerade an einer Animation und stehe echt auf dem Schlauch. Ich habe in der GUI meiner Software eine GroupBox am rechten Rand die ich per button click mit einer slide Animation "rein- und rausfahren" möchte. Ich verschiebe die GroupBox also um einen bestimmten Wert nach rechts so das sie sich ausserhalb des mainWindows befindet und nicht mehr zu sehen ist. Bei nochmaligem click möchte ich sie wieder nach links zum ursprünglichen Ort schieben, und da harkts.

Code: Alles auswählen


QPropertyAnimation *resultAnimation = new QPropertyAnimation(ui->groupBox_2, "geometry");
QSize widgetSize = ui->groupBox_2->size();

resultAnimation->setEasingCurve(QEasingCurve::Linear);
resultAnimation->setDuration(1000);

 if(hideGroupBoxTwo)
    {
        resultAnimation->setStartValue(ui->groupBox_2->geometry());
        resultAnimation->setEndValue(QRect(QPoint(ui->groupBox_2->x()+200, ui->groupBox_2->y()), widgetSize));
    }
    else
    {
       und hier komme ich nicht mehr auf den Ursprungsort zurück da ich die ursprüngliche ui->groupBox_2->geometry() nicht gespeichert bekomme und sie sich bei jedem button click ändert
    }

resultAnimation->start(QPropertyAnimation::DeleteWhenStopped);

Re: Slide in/out Animation

Verfasst: 22. März 2015 16:34
von veeman
Hast du ein Dynamisches oder Statisches Layout?
Wenn statisch dann sollte das doch mit x-200 klappen, vorausgesetzt die vorherige Animation ist abgeschlossenen.
Ggf. musst du die Start/Ziel Position einmalig zwischenspeichern.