suche einfaches Codebeispiel für animierten Bildwechsel
Verfasst: 19. April 2013 16:19
Hallo,
ich habe mit Hilfe von Poppler-QT4 einen PDFViewer-Programmiert, für den ich gerne Übergänge beim Seitenwechsel hätte. Dabei habe ich zunächst versucht, mich an das Fademessage-Beispiel zu halten.
Bezüglich der Animation habe ich in der Hauptfunktion Folgendes stehen:
In der Funktion zum Seitenwechsel:
Die Animation wird faktisch zwar ausgeführt, da beim Aufruf der Wechselfunktion 2x500ms verstrichen werden, jedoch ändert sich am Bild nichts.
Experimentell habe ich dann einmal versucht, der Pixmap einen Namen zu geben und auf Diese die Animation anzuwenden. Das Ergebnis ist dann aber, dass die Animation einmal erfolgreich (sichtbar abläuft) und beim zweiten Mal ein Segmentation Fault auftritt.
Jemand eine Idee oder ein banales Code-Beispiel parat?
ich habe mit Hilfe von Poppler-QT4 einen PDFViewer-Programmiert, für den ich gerne Übergänge beim Seitenwechsel hätte. Dabei habe ich zunächst versucht, mich an das Fademessage-Beispiel zu halten.
Bezüglich der Animation habe ich in der Hauptfunktion Folgendes stehen:
Code: Alles auswählen
m_effect = new QGraphicsColorizeEffect;
m_effect->setColor(QColor(61, 97, 33));
m_effect->setStrength(1);
m_effect->setEnabled(true);
m_animation = new QPropertyAnimation(m_effect, "strength", this);
m_animation->setDuration(500);
m_animation->setEasingCurve(QEasingCurve::InOutSine);
m_animation->setStartValue(0);
m_animation->setEndValue(1);
gfxView = new QGraphicsView;
gfxView->setScene(&docScene);
gfxView->setGraphicsEffect(m_effect);
Code: Alles auswählen
m_animation->setDirection(QAbstractAnimation::Forward);
m_animation->start();
QEventLoop loop;
QObject::connect(m_animation, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
docScene.clear();
docScene.addItem(QPixmap::fromImage(pdfImage).scaled(this->width(),this->height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
m_animation->setDirection(QAbstractAnimation::Backward);
m_animation->start();
loop.exec();
Experimentell habe ich dann einmal versucht, der Pixmap einen Namen zu geben und auf Diese die Animation anzuwenden. Das Ergebnis ist dann aber, dass die Animation einmal erfolgreich (sichtbar abläuft) und beim zweiten Mal ein Segmentation Fault auftritt.
Jemand eine Idee oder ein banales Code-Beispiel parat?