Frameschleife mit Qt



  • Ich suche den besten code für ne Frameschleife in Qt. Die müsste ein bißchen anders funktionieren als in Spielen?

    bis jetzt lief mein Programm immer über

    m_timer.start(25, this);

    (QBasicTimer m_timer;)
    das Programm hat start und stop button.

    Doch das Problem: Wenn ich m_timer stoppe, funktionieren Sachen wie selbstgeschriebene onMouseOver-Animationen und Kamerabewegung in centralView nicht mehr.
    update() würde nicht bringen, weil bewegende Objekte die gestoppt sein sollten, dann wieder anfangen zu bewegen. Und überhaupt, eignet sich QBasicTimer für sowas um möglichst viele Bilder in der Sekunde rendern zu lassen?

    Bestimmt bräuchte ich 'ne eigene Schleife?

    Wie bringe ich das am besten im Einklang mit GUI ? Nicht dass Qt-Elemente blockiert werden.

    Gibt es vlt einen fertigen code dafür?



  • hm dann mit anderen Fragen:

    Mit QElapsedTimer könnte ich getTickCount ersetzen?

    um möglichst viele Frames in der Sekunde rendern zu lassen schreibe ich einfach
    m_timer.start(0, this); für QPainter event?
    (merk grad das QPainter ziemlich langsam ist...)


Anmelden zum Antworten