Seite 1 von 1

mit QPainter in QGraphicsScene zeichnen

Verfasst: 17. Februar 2012 15:07
von Paddel
Hallo,
ich habe eine QGraphicsScene, in der ich mit QPainter einen polyline zeichnen möchte.
jedoch bekomme ich das zum verrecken nicht hin und ein passendes Beispiel hab ich jetzt im ganzen Netz nicht gefunden.

Codeausschnitt:
QtDisplay::QtDisplay(QWidget *parent) : QWidget(parent)
{
...
ptrKontext->MainScene = new QGraphicsScene();
ptrKontext->MainScene->setSceneRect(ptrKontext->MainScene->itemsBoundingRect());
mView2 = new QGraphicsView(kontextPntr->MainScene); //erstelle mir eine anzeige für meine Scene
...

// so find ich es in vielen Beispielen
static const QPointF points[3] = {
QPointF(10, 100),
QPointF(20, 200),
QPointF(30, 150),
};

QPainter painter(this);
painter.drawPolyline(points, 3);
painter.end();
...
}


Fehlermeldung: QPainter::begin: Paint device returned engine == 0, type: 1
das soll soviel heißen, dass ich außerhalb des PaintEvents versuche zu zeichnen.
Frage 1: Warum bin ich außerhalb?
Frage 2: wie bekomm ich das wieder ins PaintEvent rein?

Hoffe ihr könnt mir helfen.

Danke und viele Grüße, Patrick

PS: schon mal schönes weekend, das brauch ich um mich abzureagieren :-))))

Re: mit QPainter in QGraphicsScene zeichnen

Verfasst: 17. Februar 2012 16:22
von Christian81
Man kann nur innerhalb des paintEvent() zeichnen.

/edit: und falls es wieder heißt es gäbe keine Beispiele: http://doc.trolltech.com/4.7/examples-painting.html

Re: mit QPainter in QGraphicsScene zeichnen

Verfasst: 20. Februar 2012 11:54
von Paddel
moin,

du hast meine Fragen schon gelesen, oder?
dass ich außerhalb des paintEvents bin, hab ich schon selber geschnallt...
aber wie zeichne ich das IM
und die Beispiele hab ich inzwischen auch schon xmal durchgekaut, helfen net wirklich in meinem Fall, da ich ne graphicsscene hab.

wie krieg ich EINE polyline in ne graphicsscene?

Re: mit QPainter in QGraphicsScene zeichnen

Verfasst: 20. Februar 2012 11:59
von franzf
Doku aufmachen -> QGraphicsScene annavigieren -> LESEN!
Auch dem Link "Graphics View Framework" folgen. Da steht wirklich ALLES was du wissen willst.