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?