Indem du einen neuen SLOT schaffst, der vor dem Zeichnen alle Variablen passend setzt, gleich die Scrollbars richtig setzt. Und jetzt machst du in disem SLOT dein repaint(). In dem paintEvent() hast du jetzt keine Manipulation der Scrollbar mehr.Pixtar hat geschrieben:Ich glaub dir schon Uwe, aber die Frage ist dann immernoch, wie ich meine ScrollBar veränder ohne ein Ereignis auszulösen, welches ich connected habe ... das Umbauen der Funktionen, das nichts im paintEvent manipuliert wird ist ja kein Problem ...
Ein weiteres Problem, das du damit löst, ist das Verändern von Variablen im paintEvent(). So etwas ist manchmal hilfreich, bringt dir aber nix. Ich sprech jetzt von dem inner. Du hast es nicht in der Hand, wie oft ein paintEvent aufgerufen wird. Auch ein resizeEvent triggert ein repaint. Wenn du hingegen in jenem neuen SLOT vor einem repaint das inner neu setzt, wird die Sache gleich übersichtlicher
Ich denke du schreibst ein Oszilloskop. Überleg dir ein Interface, das dafür nütlich sein könnte. Z.B. slot insertMesurePoint(int offset);. Hier kannst du dann deine Berechnungen machen, evtl. etwas Cachen. Liegt an dir, ob du bei jedem neuen Messpunkt alles neu malen willst, oder evtl. nur alle 10 Punkte, vllt. getimert, falls mal ne Zeitlang nix neues kommen sollte und du bereits existierende Messpunkte nicht ewig vorenthalten willst.
HINT: Ein Updateintervall von 50ms nimmt der Mensch noch als flüssig wahr.