Material über QGraphicsView
-
Wo finde ich im Internet was lesbares über QGraphicsView. Ich möchte in die Graphikprogrammierung einsteigen, und finde in der Doku dafür nichts brauchbares.
Die ist wohl doch nur was für Leute, die sich mit dem Thema einigermaßen auskennen...
-
Schau dir einfach die Beispiele an. In den Examples gibt es eine eigene Sektion für den GraphicsView.
-
Schnuckelchen, ich steige in die Graphikprogrammierung erst ein. Da kannst du mit den Beispielen nicht wirklich was anfangen.
Wo soll ich denn anfangen, wenn ich den Mechanismus als sochen erst mal verstehen will?
Es gibt kein Beispiel in dem man auf einfache Weise nachvollziehen kann wie man ein Item in die Scene setzt (und dass es dann auch angezeigt wird!), bzw. wie das so alles zusammenhängt mit View, Scene und Items.
Wie lässt sich z.B. der Hintergrund ändern? Wie kann ich die Farbe der Items während des Programmslaufs ändern? Wie die Form der Items während des Programmlaufs ändern?
O.K. die letzten Fragen währen vielleicht schon was Weiterführendes, sind aber doch essentiell und werden nicht wirklich auf anschauliche Weise gezeigt. Oder habe ich da was übersehen?
-
Sanni schrieb:
Schnuckelchen
das hier ist auch für Anfänger der erste Einstiegspunkt. Es ist verständlich genug und durch die exzessive interne Verlinkung kann man auch spezifische Fragen dadurch klären.
Was einsteigerfreundlicheres wirst du nicht findenSollten spezifische Punkte dennoch unklar sein, kannst du natürlich weiterhin hier nachfragen.
Sanni schrieb:
Wie lässt sich z.B. der Hintergrund ändern?
aus der Doku:
QGraphicsScene provides the Graphics View scene.
klingt schonmal gut. Und QGraphicsScene hat sogar eine Methode setBackgroundBrush(...). Wunderbar
Sanni schrieb:
Wie kann ich die Farbe der Items während des Programmslaufs ändern?
Die Items sind QGraphicItems. Ein kurzer Blick in die Doku zeigt... nichts. Keine Methode zum Hintergrund ändern (verständlich, da über diese Klasse auch Bilder und Text eingefügt werden können. Und die haben keinen Hintergrund), aber eine paint-Methode, die ist aber pure virtual. Also ableiten und selber zeichen oder eine Subklasse nutzen. QAbstractGraphicsShapeItem (bzw. dessen Unterklassen) bietet sich da an, und die hat sogar eine setBrush(...)-Methode. Wunderbar
Sanni schrieb:
Wie die Form der Items während des Programmlaufs ändern?
selber von QGraphicItems ableiten und bei Bedarf einfach anders zeichnen
Fürs hinzufügen von Items solltest du dir mal die diversen addXxx(...)-Methoden der Scene ansehen.
-edit-
Sanni schrieb:
wie das so alles zusammenhängt mit View, Scene und Items.
aus der Doku:
QGraphicsView - Widget for displaying the contents of a QGraphicsScene
QGraphicsScene - Surface for managing a large number of 2D graphical items
QGraphicsItem - The base class for all graphical items in a QGraphicsScenesollte doch verständlich sein, oder?
-
Jaja, die einfachen Abhängigkeiten habe ich schon verstanden, Danke für deine Ausführliche Hilfe.
Nein, ich meinte das etwas tiefgreifender. Ich habe folgenden (etwas gekürzten Text geschrieben:QGraphicsRectItem *pin = . . . pin->setBush( Qt::white ); QTimeLine *timer = ... timer->setRange( 0, 2 ); QGraphicsItemAnimation *anim = ... anim->setItem( pin ); anim->setTimeLine( timer ); for( int ii=0; ii<=2; ii++ ){ anim->setScaleAt( ii/2.0, ii, ii ); } QGraphicsScene scene = ... scene->additem( pin ); QImage image( "bild.jpg" ); QGraphicsview *view = ... view->setBackgroundBrush( QBrush( image ) ); ... timer->setLoopCount( 3 ); timer->start();
Warum wird der Punkt von links oben nach rechts unten wandernd langsam größer?
So wie ich das verstanden habe, müsste er doch eingentlich auf der Stelle dreimal blinken oder?
-
Sorry aber die Beispiele sind wirklich das beste, da kannst du vieles dir ansehen, und dann gibts ja noch die Doku.
Und googlen kannst du ja selber. QGraphicsView ist komplex, aber vom Aufbau eigentlich einfach zu verstehen.
Und du hattest nach was lesbarem in Internet gefragt...