Seite 1 von 1

QPainter außerhalb von paintEvent

Verfasst: 17. März 2009 09:50
von Strahlex
Wie kann ich mit QPainter auch außerhalb des paintEvents auf ein Widget zeichnen? Hab jetzt schon einige Zeit in der Doku herumgesucht aber nichts passendendes gefunden. :roll:
Ich weis nicht wer von euch Delphi kennt, aber ich würde so etwas wie das dortige Canvas benötigen. Also ich will einfach wenn man auf einen Button klickt zufällige Striche, Kreise und was auch immer auf das Widget zeichnen.

Verfasst: 17. März 2009 10:23
von gerome69
Dann mußt du halt per update() ein PaintEvent auslösen.

Gérôme

Verfasst: 17. März 2009 10:39
von franzf
Dann hast du aber noch nicht richtig gesucht. Denn der erste Treffer bei Google nach "Qt4 Canvas" führt dich zum "Graphics View".

Aber prinzipiell (wie bereits gesagt) reicht ein update() um das paintEvent auszulösen. Musst dir halt Slots ala "void addRandomLine()" oder was auch immer definieren, die ein Shape zu ner Liste hinzufügen, und dann update() aufrufen, welches wiederum die ganzen gespeicherten Shapes malt.

Verfasst: 17. März 2009 10:43
von macman
Guck dir mal QGraphicsView und QGraphicsScene an. Ich denke da ist alles bei was Du suchst.

Verfasst: 17. März 2009 14:49
von Strahlex
Danke GraphicsScene ist genau das was ich gesucht habe. :D
Das mit den Shapes speichern wär mir auch eingefallen, nur lont sich der aufwand nicht für ein simples Projekt.

So ich bastle jetzt an meinen Felgen-Simulator weiter... :D