QPropertyAnimation mit QGraphicsItem und QTransform

Alles rund um die Programmierung mit Qt
Antworten
'Prest1ge.
Beiträge: 20
Registriert: 24. Mai 2012 14:37

QPropertyAnimation mit QGraphicsItem und QTransform

Beitrag von 'Prest1ge. »

Hallo Community.

Ich versuche derzeit ein QGraphicsItem in meinem QGraphicsView auf dessen Qt::YAxis zu drehen.
Ich kann zwar folgenden code kompilieren, jedoch geschieht einfach nichts sobald ich die entsprechende Funktion (functionBla()) abrufe.

--A.h--

Code: Alles auswählen

class myOwnPixmapItem : public QObject, public QGraphicsPixmapItem
{
	Q_OBJECT
	Q_PROPERTY (QTransform transform READ transform WRITE setTransform)

public:
	myOwnPixmapItem();
	myOwnPixmapItem *myGraphicsItem;

	functionBla();
};
--A.cpp--

Code: Alles auswählen

myOwnPixmapItem::myOwnPixmapItem()
{
	myGraphicsItem = new myOwnPixmapItem;
}

myOwnPixmapItem::functionBla()
{
	QTransform trans;
	trans.rotate (0, Qt::YAxis);

	QPropertyAnimation* animation = new QPropertyAnimation (myGraphicsItem, "transform");
	animation->setDuration(1400);
	animation->setStartValue(trans);

	trans.rotate (60, Qt::YAxis);
	animation->setEndValue(trans);
	animation->start();
}
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: QPropertyAnimation mit QGraphicsItem und QTransform

Beitrag von franzf »

Lass mich raten: Du erzeugst dann irgendwo eine neue Instanz deiner Klasse, fügst diese Instanz dann in eine Scene ein und rufst irgendwann functionBla() auf, korrekt?
Dann kannst du dir mal kurz überlegen, ob die Instanz die in der scene sichtbar ist und diejenige, welche animiert werden soll, die selben sind. Und wenn du das weißt, überleg dir ob dein Ansatz überhaupt Sinn macht, wo das Problem an deiner Lösung ist und ob es irgendwie besser (richtiger) geht ;)
'Prest1ge.
Beiträge: 20
Registriert: 24. Mai 2012 14:37

Re: QPropertyAnimation mit QGraphicsItem und QTransform

Beitrag von 'Prest1ge. »

franzf hat geschrieben:Lass mich raten: Du erzeugst dann irgendwo eine neue Instanz deiner Klasse, fügst diese Instanz dann in eine Scene ein und rufst irgendwann functionBla() auf, korrekt?
Da muss ich dich enttäuschen franzf. Bis auf das eine Item das ich in meinem Beispielcode gepostet habe existiert meine Klasse sowie meine scene bereits. :roll:
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: QPropertyAnimation mit QGraphicsItem und QTransform

Beitrag von franzf »

Bis auf das eine Item das ich in meinem Beispielcode gepostet habe existiert meine Klasse sowie meine scene bereits.
Für mich ergibt der Satz leider keinen Sinn, vor allem im Kontext.
Poste doch mal bitte, wie du es verwendest. Und wenn der obige Code nicht dem Originalen entspricht bitte auch den nachreichen.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QPropertyAnimation mit QGraphicsItem und QTransform

Beitrag von Christian81 »

Für QTransform gibt es keine Animation per default. Die muss man schon selbst schreiben. Siehe z.B. hier: http://qt-project.org/doc/qt-4.8/qvaria ... ml#details
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten