QT / Videoplayer



  • Hi,

    ich habe einen videoplayer in qt programmiert.
    doch im moment kann ich mich nur von frame zu frame eines videos durchklicken.
    den aktuellen frame/das aktuelle videobild erstelle ich per QPixmap und QPainter.
    Wenn ich eine schleife über alle frames erstelle (das video abspielen) in der jeweils die funktion zum zeichnen der Qpixmap aufgerufen wird, scheint nur der letzte frame.
    was mache ich falsch?


  • Mod

    DerBert schrieb:

    was mache ich falsch?

    Du zeichnest nur den letzten Frame, das sollte der Fehler sein 😉

    Sorry, aber ohne Code kann ich da auch nicht mehr sagen...



  • Das Zeichnen der jeweils einzelen Frames funktioniert perfekt. An der for-Schleife welche die draw-funktion über alle frames aufruft läuft, ist auch ganz normal. 😉

    Daher denke ich liegt der Fehler beim QPaintEvent.
    Sollte ich eine QTimerEvent Funktion verwenden?

    void RVRenderArea::paintEvent(QPaintEvent * /* event */) {

    QPainter painter;
    painter.begin(this);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.drawPixmap(QPoint(0, 0), pixmap);
    painter.drawText(QRect(0, 0, 512, 64), Qt::AlignCenter, "Video");
    update();

    }


  • Mod

    Timer wäre wohl das Richtige, da wenn du es in einem Paintevent immer alle Frames zeichnest, nur der letzte übrig bleibt.


Anmelden zum Antworten