[gelöst] QPropertyAnimation

Alles rund um die Programmierung mit Qt
Antworten
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

[gelöst] QPropertyAnimation

Beitrag von reinki0013 »

Hallo zusammen,

ich arbeite gerade mit einer QPropertyAnimation und habe mir mal QEasingCurve angesehen.
Meine Frage wäre jetzt, kann ich irgendwo festlegen, wo diese QEasingCurve beginnt ?
Standardmäßig beginnt diese ja anscheinend immer links oben, ich möchte aber nicht das es links oben beginnt, sondern von der Mitte heraus.
Sprich ich will im konkreten Fall ein QLabel vom Hintergrund heraus einblenden, mit QEasingCurve. Leider ist es momentan so, das es immer von links oben beginnt.
Kann ich das wo festlegen?

Wäre toll wenn mir jemand einen Tipp gibt bzw. weiterhilft.

besten dank,

lg reinki
Zuletzt geändert von reinki0013 am 19. Oktober 2011 11:52, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Re: QPropertyAnimation

Beitrag von upsala »

Eine QEasingCurve beginnt immer bei 0 und hört bei 1 auf, da gibt es kein links oben.

Aber was hast du deine QPropertyAnimation für ein Start-Value übergeben?
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Re: QPropertyAnimation

Beitrag von reinki0013 »

upsala hat geschrieben:Eine QEasingCurve beginnt immer bei 0 und hört bei 1 auf, da gibt es kein links oben.

Aber was hast du deine QPropertyAnimation für ein Start-Value übergeben?
Ich habe es wie folgt gemacht:

Code: Alles auswählen

animation = new QPropertyAnimation(label, "size");
animation->setEasingCurve(QEasingCurve::OutBance);
animation->setDuration(2000);
animation->setStartValue(QSize(0.0));
animation->setEndValue(QSize(170, 100));
animation->start();
Ziel sollte sein, das mein QLabel langsam (sprich innerhalb von 2 sek) von ganz klein bis zur gewünschten QSize größer wird.
Das funktioniert allerdings nicht!

lg
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: QPropertyAnimation

Beitrag von franzf »

size ist nun mal nur die Größe, den Ursprung beeinflusst das nicht. Jedes Widget hat seinen Koordinatenursprung oben links, den kannst du nicht umbiegen.
Mit QPropertyAnmiation wirst du daher nicht weit kommen (jedenfalls nicht bei dieser Animation). Du kannst dir das Label in ein Pixmap rendern und daraus dann einzelne rects ausschneiden und die mit passender FPS über das eigentliche Widget malen.
ceumern
Beiträge: 28
Registriert: 16. September 2011 11:25

Re: QPropertyAnimation

Beitrag von ceumern »

Nun ja, du kannst auch die "pos" vom widget animieren. Kombiniert mit "size" kannst du den gewünschten Effekt erzielen.
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Re: QPropertyAnimation

Beitrag von reinki0013 »

ceumern hat geschrieben:Nun ja, du kannst auch die "pos" vom widget animieren. Kombiniert mit "size" kannst du den gewünschten Effekt erzielen.
und wie kann ich das kombinieren ?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QPropertyAnimation

Beitrag von Christian81 »

reinki0013 hat geschrieben: und wie kann ich das kombinieren ?
Indem man einfach mal etwas liest: http://doc.trolltech.com/4.7/animation- ... s-together
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Re: QPropertyAnimation

Beitrag von reinki0013 »

Christian81 hat geschrieben:
reinki0013 hat geschrieben: und wie kann ich das kombinieren ?
Indem man einfach mal etwas liest: http://doc.trolltech.com/4.7/animation- ... s-together
sorry, war wohl wieder zu voreilig...
besten dank Christian81 - funktioniert perfekt...

lg
Antworten