Seite 2 von 2

Verfasst: 4. Juli 2008 16:56
von ArneStocker

Code: Alles auswählen

protected void mouseMoveEvent(QMouseEvent event)
{
        drawto(event.pos());
} 
Auszug aus der API
Warning: When the paintdevice is a widget, QPainter can only be used inside a paintEvent() function or in a function called by paintEvent(); that is unless the Qt::WA_PaintOutsidePaintEvent widget attribute is set. On Mac OS X and Windows, you can only paint in a paintEvent() function regardless of this attribute's setting.
vielleicht ist es das :-)

Gruß Arne

OK, muss mich möglicherweise berichtigen, Du malst ja auf ein Image - Device und nicht auf Dein Fenster. Allerdings worauf malst Du im paintEvent ?

Verfasst: 6. Juli 2008 16:44
von Tobi1988
Hi,

im paintEvent male ich das QImage neu, welches ich ja in drawto() veränder.

Ich glaube nicht, dass der Fehler da liegt, wo du es meinst, da ich es in einem Beispiel von trolltech selber genau so gemacht wird. Also erst mit "mouseMoveEvent" eine selbstgeschriebene Methode geöffnet, die in ein QImage die veränderungen speichert und dann in "paintEvent()" das QImage im Hauptfenster neu zeichnen. Nur anscheinend gibt es ein Problem, wenn ich eine Klasse von "QScrollArea" ableite und dann dort ein "paintEvent()" aufrufe. Wenn ich aber nun von QWidget ableite funktioniert das einwandfrei.

MfG
Tobi

Verfasst: 6. Juli 2008 16:51
von ArneStocker
.. Du hast Recht und ich hab nicht aufgepasst :oops:

Gruß Arne