Slide in/out Animation

Alles rund um die Programmierung mit Qt
Antworten
R0b
Beiträge: 3
Registriert: 3. Februar 2014 14:20

Slide in/out Animation

Beitrag 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);
veeman
Beiträge: 280
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Slide in/out Animation

Beitrag 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.
Antworten