![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
Public Member Functions | |
CustomScene () | |
void | drawItems (QPainter *painter, int numItems, QGraphicsItem *items[], const QStyleOptionGraphicsItem options[], QWidget *widget=nullptr) override |
[0] | |
CustomScene () | |
void | drawItems (QPainter *painter, int numItems, QGraphicsItem *items[], const QStyleOptionGraphicsItem options[], QWidget *widget=nullptr) override |
Public Member Functions inherited from QGraphicsScene | |
QGraphicsScene (QObject *parent=nullptr) | |
Constructs a QGraphicsScene object. | |
QGraphicsScene (const QRectF &sceneRect, QObject *parent=nullptr) | |
Constructs a QGraphicsScene object, using sceneRect for its scene rectangle. | |
QGraphicsScene (qreal x, qreal y, qreal width, qreal height, QObject *parent=nullptr) | |
Constructs a QGraphicsScene object, using the rectangle specified by (x, y), and the given width and height for its scene rectangle. | |
virtual | ~QGraphicsScene () |
Removes and deletes all items from the scene object before destroying the scene object. | |
QRectF | sceneRect () const |
qreal | width () const |
This convenience function is equivalent to calling sceneRect().width(). | |
qreal | height () const |
This convenience function is equivalent to calling sceneRect() .height(). | |
void | setSceneRect (const QRectF &rect) |
void | setSceneRect (qreal x, qreal y, qreal w, qreal h) |
void | render (QPainter *painter, const QRectF &target=QRectF(), const QRectF &source=QRectF(), Qt::AspectRatioMode aspectRatioMode=Qt::KeepAspectRatio) |
Renders the source rect from scene into target, using painter. | |
ItemIndexMethod | itemIndexMethod () const |
void | setItemIndexMethod (ItemIndexMethod method) |
int | bspTreeDepth () const |
void | setBspTreeDepth (int depth) |
QRectF | itemsBoundingRect () const |
Calculates and returns the bounding rect of all items on the scene. | |
QList< QGraphicsItem * > | items (Qt::SortOrder order=Qt::DescendingOrder) const |
Returns an ordered list of all items on the scene. | |
QList< QGraphicsItem * > | items (const QPointF &pos, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape, Qt::SortOrder order=Qt::DescendingOrder, const QTransform &deviceTransform=QTransform()) const |
Returns all visible items that, depending on mode, are at the specified pos in a list sorted using order. In this case, "visible" defines items for which: isVisible() returns true , effectiveOpacity() returns a value greater than 0.0 (which is fully transparent) and the parent item does not clip it. | |
QList< QGraphicsItem * > | items (const QRectF &rect, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape, Qt::SortOrder order=Qt::DescendingOrder, const QTransform &deviceTransform=QTransform()) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QList< QGraphicsItem * > | items (const QPolygonF &polygon, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape, Qt::SortOrder order=Qt::DescendingOrder, const QTransform &deviceTransform=QTransform()) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QList< QGraphicsItem * > | items (const QPainterPath &path, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape, Qt::SortOrder order=Qt::DescendingOrder, const QTransform &deviceTransform=QTransform()) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QList< QGraphicsItem * > | items (qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform=QTransform()) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QList< QGraphicsItem * > | collidingItems (const QGraphicsItem *item, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape) const |
Returns a list of all items that collide with item. | |
QGraphicsItem * | itemAt (const QPointF &pos, const QTransform &deviceTransform) const |
QGraphicsItem * | itemAt (qreal x, qreal y, const QTransform &deviceTransform) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QList< QGraphicsItem * > | selectedItems () const |
Returns a list of all currently selected items. | |
QPainterPath | selectionArea () const |
Returns the selection area that was previously set with setSelectionArea(), or an empty QPainterPath if no selection area has been set. | |
void | setSelectionArea (const QPainterPath &path, const QTransform &deviceTransform) |
void | setSelectionArea (const QPainterPath &path, Qt::ItemSelectionOperation selectionOperation=Qt::ReplaceSelection, Qt::ItemSelectionMode mode=Qt::IntersectsItemShape, const QTransform &deviceTransform=QTransform()) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QGraphicsItemGroup * | createItemGroup (const QList< QGraphicsItem * > &items) |
Groups all items in items into a new QGraphicsItemGroup, and returns a pointer to the group. | |
void | destroyItemGroup (QGraphicsItemGroup *group) |
Reparents all items in group to group's parent item, then removes group from the scene, and finally deletes it. | |
void | addItem (QGraphicsItem *item) |
Adds or moves the item and all its children to this scene. | |
QGraphicsEllipseItem * | addEllipse (const QRectF &rect, const QPen &pen=QPen(), const QBrush &brush=QBrush()) |
Creates and adds an ellipse item to the scene, and returns the item pointer. | |
QGraphicsLineItem * | addLine (const QLineF &line, const QPen &pen=QPen()) |
Creates and adds a line item to the scene, and returns the item pointer. | |
QGraphicsPathItem * | addPath (const QPainterPath &path, const QPen &pen=QPen(), const QBrush &brush=QBrush()) |
Creates and adds a path item to the scene, and returns the item pointer. | |
QGraphicsPixmapItem * | addPixmap (const QPixmap &pixmap) |
Creates and adds a pixmap item to the scene, and returns the item pointer. | |
QGraphicsPolygonItem * | addPolygon (const QPolygonF &polygon, const QPen &pen=QPen(), const QBrush &brush=QBrush()) |
Creates and adds a polygon item to the scene, and returns the item pointer. | |
QGraphicsRectItem * | addRect (const QRectF &rect, const QPen &pen=QPen(), const QBrush &brush=QBrush()) |
Creates and adds a rectangle item to the scene, and returns the item pointer. | |
QGraphicsTextItem * | addText (const QString &text, const QFont &font=QFont()) |
Creates and adds a text item to the scene, and returns the item pointer. | |
QGraphicsSimpleTextItem * | addSimpleText (const QString &text, const QFont &font=QFont()) |
Creates and adds a QGraphicsSimpleTextItem to the scene, and returns the item pointer. | |
QGraphicsProxyWidget * | addWidget (QWidget *widget, Qt::WindowFlags wFlags=Qt::WindowFlags()) |
Creates a new QGraphicsProxyWidget for widget, adds it to the scene, and returns a pointer to the proxy. | |
QGraphicsEllipseItem * | addEllipse (qreal x, qreal y, qreal w, qreal h, const QPen &pen=QPen(), const QBrush &brush=QBrush()) |
QGraphicsLineItem * | addLine (qreal x1, qreal y1, qreal x2, qreal y2, const QPen &pen=QPen()) |
QGraphicsRectItem * | addRect (qreal x, qreal y, qreal w, qreal h, const QPen &pen=QPen(), const QBrush &brush=QBrush()) |
void | removeItem (QGraphicsItem *item) |
Removes the item item and all its children from the scene. | |
QGraphicsItem * | focusItem () const |
When the scene is active, this functions returns the scene's current focus item, or \nullptr if no item currently has focus. | |
void | setFocusItem (QGraphicsItem *item, Qt::FocusReason focusReason=Qt::OtherFocusReason) |
Sets the scene's focus item to item, with the focus reason focusReason, after removing focus from any previous item that may have had focus. | |
bool | hasFocus () const |
Returns true if the scene has focus; otherwise returns false . | |
void | setFocus (Qt::FocusReason focusReason=Qt::OtherFocusReason) |
Sets focus on the scene by sending a QFocusEvent to the scene, passing focusReason as the reason. | |
void | clearFocus () |
Clears focus from the scene. | |
void | setStickyFocus (bool enabled) |
bool | stickyFocus () const |
QGraphicsItem * | mouseGrabberItem () const |
Returns the current mouse grabber item, or \nullptr if no item is currently grabbing the mouse. | |
QBrush | backgroundBrush () const |
void | setBackgroundBrush (const QBrush &brush) |
QBrush | foregroundBrush () const |
void | setForegroundBrush (const QBrush &brush) |
virtual QVariant | inputMethodQuery (Qt::InputMethodQuery query) const |
This method is used by input methods to query a set of properties of the scene to be able to support complex input method operations as support for surrounding text and reconversions. | |
QList< QGraphicsView * > | views () const |
Returns a list of all the views that display this scene. | |
void | update (qreal x, qreal y, qreal w, qreal h) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | invalidate (qreal x, qreal y, qreal w, qreal h, SceneLayers layers=AllLayers) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QStyle * | style () const |
void | setStyle (QStyle *style) |
QFont | font () const |
void | setFont (const QFont &font) |
QPalette | palette () const |
void | setPalette (const QPalette &palette) |
bool | isActive () const |
QGraphicsItem * | activePanel () const |
void | setActivePanel (QGraphicsItem *item) |
QGraphicsWidget * | activeWindow () const |
void | setActiveWindow (QGraphicsWidget *widget) |
bool | sendEvent (QGraphicsItem *item, QEvent *event) |
qreal | minimumRenderSize () const |
void | setMinimumRenderSize (qreal minSize) |
bool | focusOnTouch () const |
void | setFocusOnTouch (bool enabled) |
Public Member Functions inherited from QObject | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | isQmlObjectType () const |
Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership(). | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
void | killTimer (Qt::TimerId id) |
template<typename T> | |
T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T> | |
QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T> | |
T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<typename T> | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . |
Additional Inherited Members | |
Public Types inherited from QGraphicsScene | |
enum | ItemIndexMethod { BspTreeIndex , NoIndex = -1 } |
This enum describes the indexing algorithms QGraphicsScene provides for managing positional information about items on the scene. More... | |
enum | SceneLayer { ItemLayer = 0x1 , BackgroundLayer = 0x2 , ForegroundLayer = 0x4 , AllLayers = 0xffff } |
Public Slots inherited from QGraphicsScene | |
void | update (const QRectF &rect=QRectF()) |
Schedules a redraw of the area rect on the scene. | |
void | invalidate (const QRectF &rect=QRectF(), SceneLayers layers=AllLayers) |
Invalidates and schedules a redraw of the layers in rect on the scene. | |
void | advance () |
This slot advances the scene by one step, by calling QGraphicsItem::advance() for all items on the scene. | |
void | clearSelection () |
Clears the current selection. | |
void | clear () |
Public Slots inherited from QObject | |
void | deleteLater () |
\threadsafe | |
Signals inherited from QGraphicsScene | |
void | changed (const QList< QRectF > ®ion) |
This signal is emitted by QGraphicsScene when control reaches the event loop, if the scene content changes. | |
void | sceneRectChanged (const QRectF &rect) |
This signal is emitted by QGraphicsScene whenever the scene rect changes. | |
void | selectionChanged () |
void | focusItemChanged (QGraphicsItem *newFocus, QGraphicsItem *oldFocus, Qt::FocusReason reason) |
This signal is emitted by QGraphicsScene whenever focus changes in the scene (i.e., when an item gains or loses input focus, or when focus passes from one item to another). | |
Signals inherited from QObject | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Static Public Member Functions inherited from QObject | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1, typename Func2> | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1, typename Func2> | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1, typename Func2> | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1> | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Slots inherited from QGraphicsScene | |
virtual bool | focusNextPrevChild (bool next) |
Protected Member Functions inherited from QGraphicsScene | |
bool | event (QEvent *event) override |
Processes the event event, and dispatches it to the respective event handlers. | |
bool | eventFilter (QObject *watched, QEvent *event) override |
\reimp | |
virtual void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) |
This event handler, for event contextMenuEvent, can be reimplemented in a subclass to receive context menu events. | |
virtual void | dragEnterEvent (QGraphicsSceneDragDropEvent *event) |
This event handler, for event event, can be reimplemented in a subclass to receive drag enter events for the scene. | |
virtual void | dragMoveEvent (QGraphicsSceneDragDropEvent *event) |
This event handler, for event event, can be reimplemented in a subclass to receive drag move events for the scene. | |
virtual void | dragLeaveEvent (QGraphicsSceneDragDropEvent *event) |
This event handler, for event event, can be reimplemented in a subclass to receive drag leave events for the scene. | |
virtual void | dropEvent (QGraphicsSceneDragDropEvent *event) |
This event handler, for event event, can be reimplemented in a subclass to receive drop events for the scene. | |
virtual void | focusInEvent (QFocusEvent *event) |
This event handler, for event focusEvent, can be reimplemented in a subclass to receive focus in events. | |
virtual void | focusOutEvent (QFocusEvent *event) |
This event handler, for event focusEvent, can be reimplemented in a subclass to receive focus out events. | |
virtual void | helpEvent (QGraphicsSceneHelpEvent *event) |
This event handler, for event helpEvent, can be reimplemented in a subclass to receive help events. | |
virtual void | keyPressEvent (QKeyEvent *event) |
This event handler, for event keyEvent, can be reimplemented in a subclass to receive keypress events. | |
virtual void | keyReleaseEvent (QKeyEvent *event) |
This event handler, for event keyEvent, can be reimplemented in a subclass to receive key release events. | |
virtual void | mousePressEvent (QGraphicsSceneMouseEvent *event) |
This event handler, for event mouseEvent, can be reimplemented in a subclass to receive mouse press events for the scene. | |
virtual void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) |
This event handler, for event mouseEvent, can be reimplemented in a subclass to receive mouse move events for the scene. | |
virtual void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) |
This event handler, for event mouseEvent, can be reimplemented in a subclass to receive mouse release events for the scene. | |
virtual void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) |
This event handler, for event mouseEvent, can be reimplemented in a subclass to receive mouse double-click events for the scene. | |
virtual void | wheelEvent (QGraphicsSceneWheelEvent *event) |
This event handler, for event wheelEvent, can be reimplemented in a subclass to receive mouse wheel events for the scene. | |
virtual void | inputMethodEvent (QInputMethodEvent *event) |
This event handler, for event event, can be reimplemented in a subclass to receive input method events for the scene. | |
virtual void | drawBackground (QPainter *painter, const QRectF &rect) |
Draws the background of the scene using painter, before any items and the foreground are drawn. | |
virtual void | drawForeground (QPainter *painter, const QRectF &rect) |
Draws the foreground of the scene using painter, after the background and all items have been drawn. | |
Protected Member Functions inherited from QObject | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Protected Attributes inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Properties inherited from QGraphicsScene | |
QBrush | backgroundBrush |
the background brush of the scene. | |
QBrush | foregroundBrush |
the foreground brush of the scene. | |
ItemIndexMethod | itemIndexMethod |
the item indexing method. | |
QRectF | sceneRect |
the scene rectangle; the bounding rectangle of the scene | |
int | bspTreeDepth |
the depth of QGraphicsScene's BSP index tree | |
QPalette | palette |
the scene's default palette | |
QFont | font |
the scene's default font | |
bool | stickyFocus |
whether clicking into the scene background will clear focus | |
qreal | minimumRenderSize |
the minimal view-transformed size an item must have to be drawn | |
bool | focusOnTouch |
whether items gain focus when receiving a {touch begin} event. | |
Properties inherited from QObject | |
QString | objectName |
the name of this object | |
Related Symbols inherited from QObject | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) |
Definition at line 9 of file graphicssceneadditemsnippet.cpp.
|
inline |
Definition at line 12 of file graphicssceneadditemsnippet.cpp.
|
inline |
Definition at line 12 of file graphicssceneadditemsnippet.cpp.
|
overridevirtual |
[0]
Reimplemented from QGraphicsScene.
Definition at line 21 of file graphicssceneadditemsnippet.cpp.
|
overridevirtual |
Paints the given items using the provided painter, after the background has been drawn, and before the foreground has been drawn. All painting is done in scene coordinates. Before drawing each item, the painter must be transformed using QGraphicsItem::sceneTransform().
The options parameter is the list of style option objects for each item in items. The numItems parameter is the number of items in items and options in options. The widget parameter is optional; if specified, it should point to the widget that is being painted on.
The default implementation prepares the painter matrix, and calls QGraphicsItem::paint() on all items. Reimplement this function to provide custom painting of all items for the scene; gaining complete control over how each item is drawn. In some cases this can increase drawing performance significantly.
Example:
Since Qt 4.6, this function is not called anymore unless the QGraphicsView::IndirectPainting flag is given as an Optimization flag.
Paints the given items using the provided painter, after the background has been drawn, and before the foreground has been drawn. All painting is done in scene coordinates. Before drawing each item, the painter must be transformed using QGraphicsItem::sceneTransform().
The options parameter is the list of style option objects for each item in items. The numItems parameter is the number of items in items and options in options. The widget parameter is optional; if specified, it should point to the widget that is being painted on.
The default implementation prepares the painter matrix, and calls QGraphicsItem::paint() on all items. Reimplement this function to provide custom painting of all items for the scene; gaining complete control over how each item is drawn. In some cases this can increase drawing performance significantly.
Example:
Since Qt 4.6, this function is not called anymore unless the QGraphicsView::IndirectPainting flag is given as an Optimization flag.
Reimplemented from QGraphicsScene.