Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QGraphicsView

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.core.QObject
                      com.trolltech.qt.gui.QWidget
                          com.trolltech.qt.gui.QFrame
                              com.trolltech.qt.gui.QAbstractScrollArea
                                  com.trolltech.qt.gui.QGraphicsView

All Implemented Interfaces:
  QPaintDeviceInterface, QtJambiInterface

    public class QGraphicsView

extends QAbstractScrollArea

The `QGraphicsView` class provides a widget for displaying the contents of a `QGraphicsScene`. `QGraphicsView` visualizes the contents of a `QGraphicsScene` in a scrollable viewport. To create a scene with geometrical items, see `QGraphicsScene`'s documentation. `QGraphicsView` is part of The Graphics View Framework.

To visualize a scene, you start by constructing a `QGraphicsView` object, passing the address of the scene you want to visualize to `QGraphicsView`'s constructor. Alternatively, you can call `setScene()` to set the scene at a later point. After you call `show()`, the view will by default scroll to the center of the scene and display any items that are visible at this point. For example:

            QGraphicsScene scene = new QGraphicsScene();
            scene.addText("Hello, world!");

            QGraphicsView view = new QGraphicsView(scene);
            view.show();

You can explicitly scroll to any position on the scene by using the scroll bars, or by calling `centerOn()`. By passing a point to `centerOn()`, `QGraphicsView` will scroll its viewport to ensure that the point is centered in the view. An overload is provided for scrolling to a `QGraphicsItem`, in which case `QGraphicsView` will see to that the center of the item is centered in the view. If all you want is to ensure that a certain area is visible, (but not necessarily centered,) you can call `ensureVisible()` instead.

`QGraphicsView` can be used to visualize a whole scene, or only parts of it. The visualized area is by default detected automatically when the view is displayed for the first time (by calling `QGraphicsScene::itemsBoundingRect()`). To set the visualized area rectangle yourself, you can call `setSceneRect()`. This will adjust the scroll bars' ranges appropriately. Note that although the scene supports a virtually unlimited size, the range of the scroll bars will never exceed the range of an integer (INT_MIN, INT_MAX). When the scene is larger than the scroll bars' values, you can choose to use `translate()` to navigate the scene instead.

`QGraphicsView` visualizes the scene by calling `render()`. By default, the items are drawn onto the viewport by using a regular `QPainter`, and using default render hints. To change the default render hints that `QGraphicsView` passes to `QPainter` when painting items, you can call `setRenderHints()`.

By default, `QGraphicsView` provides a regular `QWidget` for the viewport widget. You can access this widget by calling `viewport()`, or you can replace it by calling `setViewport()`. To render using OpenGL, simply call setViewport(new `QGLWidget`). `QGraphicsView` takes ownership of the viewport widget.

`QGraphicsView` supports affine transformations, using `QMatrix`. You can either pass a matrix to `setMatrix()`, or you can call one of the convenience functions `rotate()`, `scale()`, `translate()` or `shear()`. The most two common transformations are scaling, which is used to implement zooming, and rotation. `QGraphicsView` keeps the center of the view fixed during a transformation.

You can interact with the items on the scene by using the mouse and keyboard. `QGraphicsView` translates the mouse and key events into scene events, (events that inherit `QGraphicsSceneEvent`,), and forward them to the visualized scene. In the end, it's the individual item that handles the events and reacts to them. For example, if you click on a selectable item, the item will typically let the scene know that it has been selected, and it will also redraw itself to display a selection rectangle. Similiary, if you click and drag the mouse to move a movable item, it's the item that handles the mouse moves and moves itself. Item interaction is enabled by default, and you can toggle it by calling `setInteractive()`.

You can also provide your own custom scene interaction, by creating a subclass of `QGraphicsView`, and reimplementing the mouse and key event handlers. To simplify how you programmatically interact with items in the view, `QGraphicsView` provides the mapping functions `mapToScene()` and `mapFromScene()`, and the item accessors `items()` and `itemAt()`. These functions allow you to map points, rectangles, polygons and paths between view coordinates and scene coordinates, and to find items on the scene using view coordinates.

See also:
  `QGraphicsScene`, `QGraphicsItem`, and `QGraphicsSceneEvent`.

Nested Class Summary
`static class` | `QGraphicsView.CacheMode` This is a flags class for com.trolltech.qt.gui.QGraphicsView.CacheModeFlag
`static class` | `QGraphicsView.CacheModeFlag` This enum describes the flags that you can set for a `QGraphicsView`'s cache mode.
`static class` | `QGraphicsView.DragMode` This enum describes the default action for the view when pressing and dragging the mouse over the viewport.
`static class` | `QGraphicsView.OptimizationFlag` This enum describes flags that you can enable to improve rendering performance in `QGraphicsView`.
`static class` | `QGraphicsView.OptimizationFlags` This is a flags class for com.trolltech.qt.gui.QGraphicsView.OptimizationFlag
`static class` | `QGraphicsView.ViewportAnchor` This enums describe the possible anchors that `QGraphicsView` can use when the user resizes the view or when the view is transformed.
`static class` | `QGraphicsView.ViewportUpdateMode` This enum describes how `QGraphicsView` updates its viewport when the scene contents change or are exposed.

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QFrame
`QFrame.Shadow, QFrame.Shape, QFrame.StyleMask`

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
`QWidget.RenderFlag, QWidget.RenderFlags`

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal`

Field Summary

Fields inherited from class com.trolltech.qt.gui.QWidget
`customContextMenuRequested`

Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QGraphicsView()` Constructs a `QGraphicsView`.
`QGraphicsView(QGraphicsScene scene)` Constructs a `QGraphicsView` and sets the visualized scene to `scene`.
`QGraphicsView(QGraphicsScene scene, QWidget parent)` Constructs a `QGraphicsView` and sets the visualized scene to `scene`.
`QGraphicsView(QWidget parent)` Constructs a `QGraphicsView`.

Method Summary
`Qt.Alignment` | `alignment()` This property holds the alignment of the scene in the view when the whole scene is visible.
`QBrush` | `backgroundBrush()` This property holds the background brush of the scene.
`QGraphicsView.CacheMode` | `cacheMode()` This property holds which parts of the view are cached.
`void` | `centerOn(double x, double y)` This function is provided for convenience.
`void` | `centerOn(QGraphicsItemInterface item)` Scrolls the contents of the viewport to ensure that `item` is centered in the view.
`void` | `centerOn(QPointF pos)` Scrolls the contents of the viewport to ensure that the scene coordinate `pos`, is centered in the view.
`QGraphicsView.DragMode` | `dragMode()` This property holds the behavior for dragging the mouse over the scene while the left mouse button is pressed.
`protected void` | `drawBackground(QPainter painter, QRectF rect)` Draws the background of the scene using `painter`, before any items and the foreground are drawn.
`protected void` | `drawForeground(QPainter painter, QRectF rect)` Draws the foreground of the scene using `painter`, after the background and all items are drawn.
`protected void` | `drawItems(QPainter painter, QGraphicsItemInterface[] items, QStyleOptionGraphicsItem[] options)` Draws the items `items` in the scene using `painter`, after the background and before the foreground are drawn.
`void` | `ensureVisible(double x, double y, double w, double h)` This function is provided for convenience.
`void` | `ensureVisible(double x, double y, double w, double h, int xmargin)` This function is provided for convenience.
`void` | `ensureVisible(double x, double y, double w, double h, int xmargin, int ymargin)` This function is provided for convenience.
`void` | `ensureVisible(QGraphicsItemInterface item)` Scrolls the contents of the viewport so that the center of item `item` is visible, with margins specified in pixels by `xmargin` and `ymargin`.
`void` | `ensureVisible(QGraphicsItemInterface item, int xmargin)` Scrolls the contents of the viewport so that the center of item `item` is visible, with margins specified in pixels by `xmargin` and `ymargin`.
`void` | `ensureVisible(QGraphicsItemInterface item, int xmargin, int ymargin)` Scrolls the contents of the viewport so that the center of item `item` is visible, with margins specified in pixels by `xmargin` and `ymargin`.
`void` | `ensureVisible(QRectF rect)` Scrolls the contents of the viewport so that the scene rectangle `rect` is visible, with margins specified in pixels by `xmargin` and `ymargin`.
`void` | `ensureVisible(QRectF rect, int xmargin)` Scrolls the contents of the viewport so that the scene rectangle `rect` is visible, with margins specified in pixels by `xmargin` and `ymargin`.
`void` | `ensureVisible(QRectF rect, int xmargin, int ymargin)` Scrolls the contents of the viewport so that the scene rectangle `rect` is visible, with margins specified in pixels by `xmargin` and `ymargin`.
`void` | `fitInView(double x, double y, double w, double h)` This convenience function is equivalent to calling fitInView(`QRectF`(`x`, `y`, `w`, `h`), `aspectRatioMode`).
`void` | `fitInView(double x, double y, double w, double h, Qt.AspectRatioMode aspectRadioMode)` This convenience function is equivalent to calling fitInView(`QRectF`(`x`, `y`, `w`, `h`), `aspectRatioMode`).
`void` | `fitInView(QGraphicsItemInterface item)` Ensures that `item` fits tightly inside the view, scaling the view according to `aspectRatioMode`.
`void` | `fitInView(QGraphicsItemInterface item, Qt.AspectRatioMode aspectRadioMode)` Ensures that `item` fits tightly inside the view, scaling the view according to `aspectRatioMode`.
`void` | `fitInView(QRectF rect)` Scales the view matrix and scrolls the scroll bars to ensure that the scene rectangle `rect` fits inside the viewport.
`void` | `fitInView(QRectF rect, Qt.AspectRatioMode aspectRadioMode)` Scales the view matrix and scrolls the scroll bars to ensure that the scene rectangle `rect` fits inside the viewport.
`QBrush` | `foregroundBrush()` This property holds the foreground brush of the scene.
`void` | `invalidateScene()` Invalidates and schedules a redraw of `layers` inside `rect`.
`void` | `invalidateScene(QRectF rect)` Invalidates and schedules a redraw of `layers` inside `rect`.
`void` | `invalidateScene(QRectF rect, QGraphicsScene.SceneLayer[] layers)` Invalidates and schedules a redraw of `layers` inside `rect`.
`void` | `invalidateScene(QRectF rect, QGraphicsScene.SceneLayers layers)` Invalidates and schedules a redraw of `layers` inside `rect`.
`boolean` | `isInteractive()` This property holds whether the view allowed scene interaction.
`QGraphicsItemInterface` | `itemAt(int x, int y)` This function is provided for convenience.
`QGraphicsItemInterface` | `itemAt(QPoint pos)` Returns the item at position `pos`, which is in viewport coordinates.
`java.util.List` | `items()` Returns a list of all the items in the associated scene.
`java.util.List` | `items(int x, int y)` This function is provided for convenience.
`java.util.List` | `items(int x, int y, int w, int h)` This convenience function is equivalent to calling items(QRectF(`x`, `y`, `w`, `h`)).
`java.util.List` | `items(int x, int y, int w, int h, Qt.ItemSelectionMode mode)` This convenience function is equivalent to calling items(`QRectF`(`x`, `y`, `w`, `h`), `mode`).
`java.util.List` | `items(QPainterPath path)` Returns a list of all the items that are either contained by or intersect with `path`.
`java.util.List` | `items(QPainterPath path, Qt.ItemSelectionMode mode)` Returns a list of all the items that, depending on `mode`, are either contained by or intersect with `path`.
`java.util.List` | `items(QPoint pos)` Returns a list of all the items at the position `pos` in the view.
`java.util.List` | `items(QPolygon polygon)` Returns a list of all the items that are either contained by or intersect with `polygon`.
`java.util.List` | `items(QPolygon polygon, Qt.ItemSelectionMode mode)` Returns a list of all the items that, depending on `mode`, are either contained by or intersect with `polygon`.
`java.util.List` | `items(QRect rect)` Returns a list of all the items that are either contained by or intersect with `rect`.
`java.util.List` | `items(QRect rect, Qt.ItemSelectionMode mode)` Returns a list of all the items that, depending on `mode`, are either contained by or intersect with `rect`.
`QPoint` | `mapFromScene(double x, double y)` This function is provided for convenience.
`QPolygon` | `mapFromScene(double x, double y, double w, double h)` This function is provided for convenience.
`QPainterPath` | `mapFromScene(QPainterPath path)` Returns the scene coordinate painter path `path` to a viewport coordinate painter path.
`QPoint` | `mapFromScene(QPointF point)` Returns the scene coordinate `point` to viewport coordinates.
`QPolygon` | `mapFromScene(QPolygonF polygon)` Returns the scene coordinate polygon `polygon` to a viewport coordinate polygon.
`QPolygon` | `mapFromScene(QRectF rect)` Returns the scene rectangle `rect` to a viewport coordinate polygon.
`QPointF` | `mapToScene(int x, int y)` This function is provided for convenience.
`QPolygonF` | `mapToScene(int x, int y, int w, int h)` This function is provided for convenience.
`QPainterPath` | `mapToScene(QPainterPath path)` Returns the viewport painter path `path` mapped to a scene coordinate painter path.
`QPointF` | `mapToScene(QPoint point)` Returns the viewport coordinate `point` mapped to scene coordinates.
`QPolygonF` | `mapToScene(QPolygon polygon)` Returns the viewport polygon `polygon` mapped to a scene coordinate polygon.
`QPolygonF` | `mapToScene(QRect rect)` Returns the viewport rectangle `rect` mapped to a scene coordinate polygon.
`QMatrix` | `matrix()` Returns the current transformation matrix for the view.
`QGraphicsView.OptimizationFlags` | `optimizationFlags()` This property holds flags that can be used to tune `QGraphicsView`'s performance..
`void` | `render(QPainter painter)` Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`.
`void` | `render(QPainter painter, QRectF target)` Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`.
`void` | `render(QPainter painter, QRectF target, QRect source)` Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`.
`void` | `render(QPainter painter, QRectF target, QRect source, Qt.AspectRatioMode aspectRatioMode)` Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`.
`QPainter.RenderHints` | `renderHints()` This property holds the default render hints for the view.
`void` | `resetCachedContent()` Resets any cached content.
`void` | `resetMatrix()` Resets the view transformation matrix to the identity matrix.
`void` | `resetTransform()` Resets the view transformation to the identity matrix.
`QGraphicsView.ViewportAnchor` | `resizeAnchor()` This property holds how the view should position the scene when the view is resized.
`void` | `rotate(double angle)` Rotates the current view transformation `angle` degrees clockwise.
`Qt.ItemSelectionMode` | `rubberBandSelectionMode()` This property holds the behavior for selecting items with a rubber band selection rectangle.
`void` | `scale(double sx, double sy)` Scales the current view transformation by (`sx`, `sy`).
`QGraphicsScene` | `scene()` Returns a pointer to the scene that is currently visualized in the view.
`QRectF` | `sceneRect()` This property holds the area of the scene visualized by this view.
`void` | `setAlignment(Qt.Alignment alignment)` This property holds the alignment of the scene in the view when the whole scene is visible.
`void` | `setAlignment(Qt.AlignmentFlag[] alignment)` This property holds the alignment of the scene in the view when the whole scene is visible.
`void` | `setBackgroundBrush(QBrush brush)` This property holds the background brush of the scene.
`void` | `setCacheMode(QGraphicsView.CacheMode mode)` This property holds which parts of the view are cached.
`void` | `setCacheMode(QGraphicsView.CacheModeFlag[] mode)` This property holds which parts of the view are cached.
`void` | `setDragMode(QGraphicsView.DragMode mode)` This property holds the behavior for dragging the mouse over the scene while the left mouse button is pressed.
`void` | `setForegroundBrush(QBrush brush)` This property holds the foreground brush of the scene.
`void` | `setInteractive(boolean allowed)` This property holds whether the view allowed scene interaction.
`void` | `setMatrix(QMatrix matrix)` Sets the view's current transformation matrix to `matrix`.
`void` | `setMatrix(QMatrix matrix, boolean combine)` Sets the view's current transformation matrix to `matrix`.
`void` | `setOptimizationFlag(QGraphicsView.OptimizationFlag flag)` Enables `flag` if `enabled` is true; otherwise disables `flag`.
`void` | `setOptimizationFlag(QGraphicsView.OptimizationFlag flag, boolean enabled)` Enables `flag` if `enabled` is true; otherwise disables `flag`.
`void` | `setOptimizationFlags(QGraphicsView.OptimizationFlag[] flags)` This property holds flags that can be used to tune `QGraphicsView`'s performance..
`void` | `setOptimizationFlags(QGraphicsView.OptimizationFlags flags)` This property holds flags that can be used to tune `QGraphicsView`'s performance..
`void` | `setRenderHint(QPainter.RenderHint hint)` If `enabled` is true, the render hint `hint` is enabled; otherwise it is disabled.
`void` | `setRenderHint(QPainter.RenderHint hint, boolean enabled)` If `enabled` is true, the render hint `hint` is enabled; otherwise it is disabled.
`void` | `setRenderHints(QPainter.RenderHint[] hints)` This property holds the default render hints for the view.
`void` | `setRenderHints(QPainter.RenderHints hints)` This property holds the default render hints for the view.
`void` | `setResizeAnchor(QGraphicsView.ViewportAnchor anchor)` This property holds how the view should position the scene when the view is resized.
`void` | `setRubberBandSelectionMode(Qt.ItemSelectionMode mode)` This property holds the behavior for selecting items with a rubber band selection rectangle.
`void` | `setScene(QGraphicsScene scene)` Sets the current scene to `scene`.
`void` | `setSceneRect(double x, double y, double w, double h)` This property holds the area of the scene visualized by this view.
`void` | `setSceneRect(QRectF rect)` This property holds the area of the scene visualized by this view.
`void` | `setTransform(QTransform matrix)` Sets the view's current transformation matrix to `matrix`.
`void` | `setTransform(QTransform matrix, boolean combine)` Sets the view's current transformation matrix to `matrix`.
`void` | `setTransformationAnchor(QGraphicsView.ViewportAnchor anchor)` This property holds how the view should position the scene during transformations.
`void` | `setViewportUpdateMode(QGraphicsView.ViewportUpdateMode mode)` This property holds how the viewport should update its contents.
`void` | `shear(double sh, double sv)` Shears the current view transformation by (`sh`, `sv`).
`QTransform` | `transform()` Returns the current transformation matrix for the view.
`QGraphicsView.ViewportAnchor` | `transformationAnchor()` This property holds how the view should position the scene during transformations.
`void` | `translate(double dx, double dy)` Translates the current view transformation by (`dx`, `dy`).
`void` | `updateScene(java.util.List rects)` Schedules an update of the scene rectangles `rects`.
`void` | `updateSceneRect(QRectF rect)` Notifies `QGraphicsView` that the scene's scene rect has changed.
`QTransform` | `viewportTransform()` Returns a matrix that maps viewport coordinates to scene coordinates.
`QGraphicsView.ViewportUpdateMode` | `viewportUpdateMode()` This property holds how the viewport should update its contents.

Methods inherited from class com.trolltech.qt.gui.QAbstractScrollArea
`addScrollBarWidget, addScrollBarWidget, cornerWidget, horizontalScrollBar, horizontalScrollBarPolicy, maximumViewportSize, scrollBarWidgets, scrollBarWidgets, scrollContentsBy, setCornerWidget, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setupViewport, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportMargins, verticalScrollBar, verticalScrollBarPolicy, viewport, viewportEvent`

Methods inherited from class com.trolltech.qt.gui.QFrame
`frameRect, frameShadow, frameShape, frameStyle, frameWidth, lineWidth, midLineWidth, setFrameRect, setFrameShadow, setFrameShape, setFrameStyle, setLineWidth, setMidLineWidth`

Methods inherited from class com.trolltech.qt.gui.QWidget
`acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y`

Methods inherited from class com.trolltech.qt.core.QObject
`childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty`

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`__qt_signalInitialization`

Methods inherited from class java.lang.Object
`clone, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Constructor Detail

### QGraphicsView

    public QGraphicsView(QGraphicsScene scene)

  Constructs a `QGraphicsView` and sets the visualized scene to `scene`. `parent` is passed to `QWidget`'s constructor.

### QGraphicsView

    public QGraphicsView(QGraphicsScene scene,
                         QWidget parent)

  Constructs a `QGraphicsView` and sets the visualized scene to `scene`. `parent` is passed to `QWidget`'s constructor.

### QGraphicsView

    public QGraphicsView()

  Constructs a `QGraphicsView`. `parent` is passed to `QWidget`'s constructor.

### QGraphicsView

    public QGraphicsView(QWidget parent)

  Constructs a `QGraphicsView`. `parent` is passed to `QWidget`'s constructor.

Method Detail

### alignment

    public final Qt.Alignment alignment()

  This property holds the alignment of the scene in the view when the whole scene is visible. If the whole scene is visible in the view, (i.e., there are no visible scroll bars,) the view's alignment will decide where the scene will be rendered in the view. For example, if the alignment is `Qt::AlignCenter` , which is default, the scene will be centered in the view, and if the alignment is (`Qt::AlignLeft` | `Qt::AlignTop` ), the scene will be rendered in the top-left corner of the view.

### backgroundBrush

    public final QBrush backgroundBrush()

  This property holds the background brush of the scene. This property sets the background brush for the scene in this view. It is used to override the scene's own background, and defines the behavior of `drawBackground()`. To provide custom background drawing for this view, you can reimplement `drawBackground()` instead.

  By default, this property contains a brush with the `Qt::NoBrush` pattern.

See also:
  `QGraphicsScene::backgroundBrush`, and `foregroundBrush`.

### cacheMode

    public final QGraphicsView.CacheMode cacheMode()

  This property holds which parts of the view are cached. `QGraphicsView` can cache pre-rendered content in a `QPixmap`, which is then drawn onto the viewport. The purpose of such caching is to speed up the total rendering time for areas that are slow to render. Texture, gradient and alpha blended backgrounds, for example, can be notibly slow to render; especially with a transformed view. The `CacheBackground` flag enables caching of the view's background. For example:

              QGraphicsView view = new QGraphicsView();
              view.setBackgroundBrush(new QBrush(new QImage(":/images/backgroundtile.png")));
              view.setCacheMode(QGraphicsView.CacheModeFlag.CacheBackground);

  The cache is invalidated every time the view is transformed. However, when scrolling, only partial invalidation is required.

  By default, nothing is cached.

See also:
  `resetCachedContent()`, and `QPixmapCache`.

### centerOn

    public final void centerOn(QGraphicsItemInterface item)

  Scrolls the contents of the viewport to ensure that `item` is centered in the view.

See also:
  `ensureVisible()`.

### centerOn

    public final void centerOn(QPointF pos)

  Scrolls the contents of the viewport to ensure that the scene coordinate `pos`, is centered in the view.

  Because `pos` is a floating point coordinate, and the scroll bars operate on integer coordinates, the centering is only an approximation.

  Note: If the item is close to or outside the border, it will be visible in the view, but not centered.

See also:
  `ensureVisible()`.

### centerOn

    public final void centerOn(double x,
                               double y)

  This function is provided for convenience. It's equivalent to calling centerOn(`QPointF`(`x`, `y`)).

### dragMode

    public final QGraphicsView.DragMode dragMode()

  This property holds the behavior for dragging the mouse over the scene while the left mouse button is pressed. This property defines what should happen when the user clicks on the scene background and drags the mouse (e.g., scrolling the viewport contents using a pointing hand cursor, or selecting multiple items with a rubber band). The default value, `NoDrag` , does nothing.

  This behavior only affects mouse clicks that are not handled by any item. You can define a custom behavior by creating a subclass of `QGraphicsView` and reimplementing `mouseMoveEvent()`.

### ensureVisible

    public final void ensureVisible(QGraphicsItemInterface item,
                                    int xmargin)

  Scrolls the contents of the viewport so that the center of item `item` is visible, with margins specified in pixels by `xmargin` and `ymargin`. If the specified point cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.

See also:
  `centerOn()`.

### ensureVisible

    public final void ensureVisible(QGraphicsItemInterface item)

  Scrolls the contents of the viewport so that the center of item `item` is visible, with margins specified in pixels by `xmargin` and `ymargin`. If the specified point cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.

See also:
  `centerOn()`.

### ensureVisible

    public final void ensureVisible(QGraphicsItemInterface item,
                                    int xmargin,
                                    int ymargin)

  Scrolls the contents of the viewport so that the center of item `item` is visible, with margins specified in pixels by `xmargin` and `ymargin`. If the specified point cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.

See also:
  `centerOn()`.

### ensureVisible

    public final void ensureVisible(QRectF rect,
                                    int xmargin)

  Scrolls the contents of the viewport so that the scene rectangle `rect` is visible, with margins specified in pixels by `xmargin` and `ymargin`. If the specified rect cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.

See also:
  `centerOn()`.

### ensureVisible

    public final void ensureVisible(QRectF rect)

  Scrolls the contents of the viewport so that the scene rectangle `rect` is visible, with margins specified in pixels by `xmargin` and `ymargin`. If the specified rect cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.

See also:
  `centerOn()`.

### ensureVisible

    public final void ensureVisible(QRectF rect,
                                    int xmargin,
                                    int ymargin)

  Scrolls the contents of the viewport so that the scene rectangle `rect` is visible, with margins specified in pixels by `xmargin` and `ymargin`. If the specified rect cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.

See also:
  `centerOn()`.

### ensureVisible

    public final void ensureVisible(double x,
                                    double y,
                                    double w,
                                    double h,
                                    int xmargin)

  This function is provided for convenience. It's equivalent to calling ensureVisible(`QRectF`(`x`, `y`, `w`, `h`), `xmargin`, `ymargin`).

### ensureVisible

    public final void ensureVisible(double x,
                                    double y,
                                    double w,
                                    double h)

  This function is provided for convenience. It's equivalent to calling ensureVisible(`QRectF`(`x`, `y`, `w`, `h`), `xmargin`, `ymargin`).

### ensureVisible

    public final void ensureVisible(double x,
                                    double y,
                                    double w,
                                    double h,
                                    int xmargin,
                                    int ymargin)

  This function is provided for convenience. It's equivalent to calling ensureVisible(`QRectF`(`x`, `y`, `w`, `h`), `xmargin`, `ymargin`).

### fitInView

    public final void fitInView(QGraphicsItemInterface item)

  Ensures that `item` fits tightly inside the view, scaling the view according to `aspectRatioMode`.

See also:
  `ensureVisible()`, and `centerOn()`.

### fitInView

    public final void fitInView(QGraphicsItemInterface item,
                                Qt.AspectRatioMode aspectRadioMode)

  Ensures that `item` fits tightly inside the view, scaling the view according to `aspectRatioMode`.

See also:
  `ensureVisible()`, and `centerOn()`.

### fitInView

    public final void fitInView(QRectF rect)

  Scales the view matrix and scrolls the scroll bars to ensure that the scene rectangle `rect` fits inside the viewport. `rect` must be inside the scene rect; otherwise, `fitInView()` cannot guarantee that the whole rect is visible.

  This function keeps the view's rotation, translation, or shear. The view is scaled according to `aspectRatioMode`. `rect` will be centered in the view if it does not fit tightly.

  It's common to call `fitInView()` from inside a reimplementation of `resizeEvent()`, to ensure that the whole scene, or parts of the scene, scales automatically to fit the new size of the viewport as the view is resized. Note though, that calling `fitInView()` from inside `resizeEvent()` can lead to unwanted resize recursion, if the new transformation toggles the automatic state of the scrollbars. You can toggle the scrollbar policies to always on or always off to prevent this (see horizontalScrollBarPolicy() and verticalScrollBarPolicy()).

See also:
  `setMatrix()`, `ensureVisible()`, and `centerOn()`.

### fitInView

    public final void fitInView(QRectF rect,
                                Qt.AspectRatioMode aspectRadioMode)

  Scales the view matrix and scrolls the scroll bars to ensure that the scene rectangle `rect` fits inside the viewport. `rect` must be inside the scene rect; otherwise, `fitInView()` cannot guarantee that the whole rect is visible.

  This function keeps the view's rotation, translation, or shear. The view is scaled according to `aspectRatioMode`. `rect` will be centered in the view if it does not fit tightly.

  It's common to call `fitInView()` from inside a reimplementation of `resizeEvent()`, to ensure that the whole scene, or parts of the scene, scales automatically to fit the new size of the viewport as the view is resized. Note though, that calling `fitInView()` from inside `resizeEvent()` can lead to unwanted resize recursion, if the new transformation toggles the automatic state of the scrollbars. You can toggle the scrollbar policies to always on or always off to prevent this (see horizontalScrollBarPolicy() and verticalScrollBarPolicy()).

See also:
  `setMatrix()`, `ensureVisible()`, and `centerOn()`.

### fitInView

    public final void fitInView(double x,
                                double y,
                                double w,
                                double h)

  This convenience function is equivalent to calling fitInView(`QRectF`(`x`, `y`, `w`, `h`), `aspectRatioMode`).

See also:
  `ensureVisible()`, and `centerOn()`.

### fitInView

    public final void fitInView(double x,
                                double y,
                                double w,
                                double h,
                                Qt.AspectRatioMode aspectRadioMode)

  This convenience function is equivalent to calling fitInView(`QRectF`(`x`, `y`, `w`, `h`), `aspectRatioMode`).

See also:
  `ensureVisible()`, and `centerOn()`.

### foregroundBrush

    public final QBrush foregroundBrush()

  This property holds the foreground brush of the scene. This property sets the foreground brush for the scene in this view. It is used to override the scene's own foreground, and defines the behavior of `drawForeground()`. To provide custom foreground drawing for this view, you can reimplement `drawForeground()` instead.

  By default, this property contains a brush with the `Qt::NoBrush` pattern.

See also:
  `QGraphicsScene::foregroundBrush`, and `backgroundBrush`.

### invalidateScene

    public final void invalidateScene(QRectF rect,
                                      QGraphicsScene.SceneLayer[] layers)

  Invalidates and schedules a redraw of `layers` inside `rect`. `rect` is in scene coordinates. Any cached content for `layers` inside `rect` is unconditionally invalidated and redrawn.

  You can call this function to notify `QGraphicsView` of changes to the background or the foreground of the scene. It is commonly used for scenes with tile-based backgrounds to notify changes when `QGraphicsView` has enabled background caching.

  Note that `QGraphicsView` currently supports background caching only (see `QGraphicsView::CacheBackground` ). This function is equivalent to calling `update()` if any layer but `QGraphicsScene::BackgroundLayer` is passed.

See also:
  `QGraphicsScene::invalidate()`, and `update()`.

### invalidateScene

    public final void invalidateScene(QRectF rect)

  Invalidates and schedules a redraw of `layers` inside `rect`. `rect` is in scene coordinates. Any cached content for `layers` inside `rect` is unconditionally invalidated and redrawn.

  You can call this function to notify `QGraphicsView` of changes to the background or the foreground of the scene. It is commonly used for scenes with tile-based backgrounds to notify changes when `QGraphicsView` has enabled background caching.

  Note that `QGraphicsView` currently supports background caching only (see `QGraphicsView::CacheBackground` ). This function is equivalent to calling `update()` if any layer but `QGraphicsScene::BackgroundLayer` is passed.

See also:
  `QGraphicsScene::invalidate()`, and `update()`.

### invalidateScene

    public final void invalidateScene()

  Invalidates and schedules a redraw of `layers` inside `rect`. `rect` is in scene coordinates. Any cached content for `layers` inside `rect` is unconditionally invalidated and redrawn.

  You can call this function to notify `QGraphicsView` of changes to the background or the foreground of the scene. It is commonly used for scenes with tile-based backgrounds to notify changes when `QGraphicsView` has enabled background caching.

  Note that `QGraphicsView` currently supports background caching only (see `QGraphicsView::CacheBackground` ). This function is equivalent to calling `update()` if any layer but `QGraphicsScene::BackgroundLayer` is passed.

See also:
  `QGraphicsScene::invalidate()`, and `update()`.

### invalidateScene

    public final void invalidateScene(QRectF rect,
                                      QGraphicsScene.SceneLayers layers)

  Invalidates and schedules a redraw of `layers` inside `rect`. `rect` is in scene coordinates. Any cached content for `layers` inside `rect` is unconditionally invalidated and redrawn.

  You can call this function to notify `QGraphicsView` of changes to the background or the foreground of the scene. It is commonly used for scenes with tile-based backgrounds to notify changes when `QGraphicsView` has enabled background caching.

  Note that `QGraphicsView` currently supports background caching only (see `QGraphicsView::CacheBackground` ). This function is equivalent to calling `update()` if any layer but `QGraphicsScene::BackgroundLayer` is passed.

See also:
  `QGraphicsScene::invalidate()`, and `update()`.

### isInteractive

    public final boolean isInteractive()

  This property holds whether the view allowed scene interaction. If enabled, this view is set to allow scene interaction. Otherwise, this view will not allow interaction, and any mouse or key events are ignored (i.e., it will act as a read-only view).

  By default, this property is true.

### itemAt

    public final QGraphicsItemInterface itemAt(QPoint pos)

  Returns the item at position `pos`, which is in viewport coordinates. If there are several items at this position, this function returns the topmost item.

  Example:

          protected void mousePressEvent(QMouseEvent event)
          {
              QGraphicsItemInterface item = itemAt(event.pos());
              if (item != null) {
                  System.out.println("You clicked on item " + item);
              } else {
                  System.out.println("You didn't click on an item.");
              }
          }

See also:
  `items()`.

### itemAt

    public final QGraphicsItemInterface itemAt(int x,
                                               int y)

  This function is provided for convenience. It's equivalent to calling itemAt(`QPoint`(`x`, `y`)).

### items

    public final java.util.List items()

  Returns a list of all the items in the associated scene.

See also:
  `QGraphicsScene::items()`.

### items

    public final java.util.List items(QPainterPath path)

  Returns a list of all the items that are either contained by or intersect with `path`.

### items

    public final java.util.List items(QPainterPath path,
                                      Qt.ItemSelectionMode mode)

  Returns a list of all the items that, depending on `mode`, are either contained by or intersect with `path`. `path` is in viewport coordinates.

  The default value for `mode` is `Qt::IntersectsItemShape` ; all items whose exact shape intersects with or is contained by `path` are returned.

See also:
  `itemAt()`, `items()`, and `mapToScene()`.

### items

    public final java.util.List items(QPoint pos)

  Returns a list of all the items at the position `pos` in the view. The items are listed in descending Z order (i.e., the first item in the list is the top-most item, and the last item is the bottom-most item). `pos` is in viewport coordinates.

  This function is most commonly called from within mouse event handlers in a subclass in `QGraphicsView`. `pos` is in untransformed viewport coordinates, just like `QMouseEvent::pos()`.

          protected void mousePressEvent(QMouseEvent event)
          {
              System.out.println("There are " + items(event.pos()).size()
                                 + " items at position " + mapToScene(event.pos()));
          }

See also:
  `QGraphicsScene::items()`, and `QGraphicsItem::zValue()`.

### items

    public final java.util.List items(QPolygon polygon)

  Returns a list of all the items that are either contained by or intersect with `polygon`. `polygon` is in viewport coordinates.

### items

    public final java.util.List items(QPolygon polygon,
                                      Qt.ItemSelectionMode mode)

  Returns a list of all the items that, depending on `mode`, are either contained by or intersect with `polygon`. `polygon` is in viewport coordinates.

  The default value for `mode` is `Qt::IntersectsItemShape` ; all items whose exact shape intersects with or is contained by `polygon` are returned.

See also:
  `itemAt()`, `items()`, and `mapToScene()`.

### items

    public final java.util.List items(QRect rect)

  Returns a list of all the items that are either contained by or intersect with `rect`. `rect` is in viewport coordinates.

### items

    public final java.util.List items(QRect rect,
                                      Qt.ItemSelectionMode mode)

  Returns a list of all the items that, depending on `mode`, are either contained by or intersect with `rect`. `rect` is in viewport coordinates.

  The default value for `mode` is `Qt::IntersectsItemShape` ; all items whose exact shape intersects with or is contained by `rect` are returned.

See also:
  `itemAt()`, `items()`, and `mapToScene()`.

### items

    public final java.util.List items(int x,
                                      int y)

  This function is provided for convenience. It's equivalent to calling items(`QPoint`(`x`, `y`)).

### items

    public final java.util.List items(int x,
                                      int y,
                                      int w,
                                      int h)

  This convenience function is equivalent to calling items(QRectF(`x`, `y`, `w`, `h`)).

### items

    public final java.util.List items(int x,
                                      int y,
                                      int w,
                                      int h,
                                      Qt.ItemSelectionMode mode)

  This convenience function is equivalent to calling items(`QRectF`(`x`, `y`, `w`, `h`), `mode`).

### mapFromScene

    public final QPainterPath mapFromScene(QPainterPath path)

  Returns the scene coordinate painter path `path` to a viewport coordinate painter path.

See also:
  `mapToScene()`.

### mapFromScene

    public final QPoint mapFromScene(QPointF point)

  Returns the scene coordinate `point` to viewport coordinates.

See also:
  `mapToScene()`.

### mapFromScene

    public final QPolygon mapFromScene(QPolygonF polygon)

  Returns the scene coordinate polygon `polygon` to a viewport coordinate polygon.

See also:
  `mapToScene()`.

### mapFromScene

    public final QPolygon mapFromScene(QRectF rect)

  Returns the scene rectangle `rect` to a viewport coordinate polygon.

See also:
  `mapToScene()`.

### mapFromScene

    public final QPoint mapFromScene(double x,
                                     double y)

  This function is provided for convenience. It's equivalent to calling mapFromScene(`QPointF`(`x`, `y`)).

### mapFromScene

    public final QPolygon mapFromScene(double x,
                                       double y,
                                       double w,
                                       double h)

  This function is provided for convenience. It's equivalent to calling mapFromScene(`QRectF`(`x`, `y`, `w`, `h`)).

### mapToScene

    public final QPainterPath mapToScene(QPainterPath path)

  Returns the viewport painter path `path` mapped to a scene coordinate painter path.

See also:
  `mapFromScene()`.

### mapToScene

    public final QPointF mapToScene(QPoint point)

  Returns the viewport coordinate `point` mapped to scene coordinates.

  Note: It can be useful to map the whole rectangle covered by the pixel at `point` instead of the point itself. To do this, you can call mapToScene(`QRect`(`point`, `QSize`(2, 2))).

See also:
  `mapFromScene()`.

### mapToScene

    public final QPolygonF mapToScene(QPolygon polygon)

  Returns the viewport polygon `polygon` mapped to a scene coordinate polygon.

See also:
  `mapFromScene()`.

### mapToScene

    public final QPolygonF mapToScene(QRect rect)

  Returns the viewport rectangle `rect` mapped to a scene coordinate polygon.

See also:
  `mapFromScene()`.

### mapToScene

    public final QPointF mapToScene(int x,
                                    int y)

  This function is provided for convenience. It's equivalent to calling mapToScene(`QPoint`(`x`, `y`)).

### mapToScene

    public final QPolygonF mapToScene(int x,
                                      int y,
                                      int w,
                                      int h)

  This function is provided for convenience. It's equivalent to calling mapToScene(`QRect`(`x`, `y`, `w`, `h`)).

### matrix

    public final QMatrix matrix()

  Returns the current transformation matrix for the view. If no current transformation is set, the identity matrix is returned.

See also:
  `setMatrix()`, `rotate()`, `scale()`, `shear()`, and `translate()`.

### optimizationFlags

    public final QGraphicsView.OptimizationFlags optimizationFlags()

  This property holds flags that can be used to tune `QGraphicsView`'s performance.. `QGraphicsView` uses clipping, extra bounding rect adjustments, and certain other aids to improve rendering quality and performance for the common case graphics scene. However, depending on the target platform, the scene, and the viewport in use, some of these operations can degrade performance.

  The effect varies from flag to flag; see the OptimizationFlags documentation for details.

  By default, no optimization flags are enabled.

See also:
  `setOptimizationFlag()`.

### render

    public final void render(QPainter painter,
                             QRectF target,
                             QRect source)

  Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`. This function is useful for capturing the contents of the view onto a paint device, such as a `QImage` (e.g., to take a screenshot), or for printing to `QPrinter`. For example:

              QGraphicsScene scene = new QGraphicsScene();
              // scene.addItem(...

              QGraphicsView view = new QGraphicsView(scene);
              view.show();
              // ...

              QPrinter printer = new QPrinter(QPrinter.PrinterMode.HighResolution);
              printer.setPageSize(QPrinter.PageSize.A4);
              QPainter painter = new QPainter(printer);

              // print, fitting the viewport contents into a full page
              view.render(painter);

              // print the upper half of the viewport into the lower.
              // half of the page.
              QRect viewport = view.viewport().rect();
              view.render(painter,
                          new QRectF(0, printer.height() / 2, printer.width(), printer.height() / 2),
                          viewport.adjusted(0, 0, 0, -viewport.height() / 2)
              );

  If `source` is a null rect, this function will use `viewport()`->rect() to determine what to draw. If `target` is a null rect, the full dimensions of `painter`'s paint device (e.g., for a `QPrinter`, the page size) will be used.

  The source rect contents will be transformed according to `aspectRatioMode` to fit into the target rect. By default, the aspect ratio is kept, and `source` is scaled to fit in `target`.

See also:
  `QGraphicsScene::render()`.

### render

    public final void render(QPainter painter,
                             QRectF target)

  Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`. This function is useful for capturing the contents of the view onto a paint device, such as a `QImage` (e.g., to take a screenshot), or for printing to `QPrinter`. For example:

              QGraphicsScene scene = new QGraphicsScene();
              // scene.addItem(...

              QGraphicsView view = new QGraphicsView(scene);
              view.show();
              // ...

              QPrinter printer = new QPrinter(QPrinter.PrinterMode.HighResolution);
              printer.setPageSize(QPrinter.PageSize.A4);
              QPainter painter = new QPainter(printer);

              // print, fitting the viewport contents into a full page
              view.render(painter);

              // print the upper half of the viewport into the lower.
              // half of the page.
              QRect viewport = view.viewport().rect();
              view.render(painter,
                          new QRectF(0, printer.height() / 2, printer.width(), printer.height() / 2),
                          viewport.adjusted(0, 0, 0, -viewport.height() / 2)
              );

  If `source` is a null rect, this function will use `viewport()`->rect() to determine what to draw. If `target` is a null rect, the full dimensions of `painter`'s paint device (e.g., for a `QPrinter`, the page size) will be used.

  The source rect contents will be transformed according to `aspectRatioMode` to fit into the target rect. By default, the aspect ratio is kept, and `source` is scaled to fit in `target`.

See also:
  `QGraphicsScene::render()`.

### render

    public final void render(QPainter painter)

  Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`. This function is useful for capturing the contents of the view onto a paint device, such as a `QImage` (e.g., to take a screenshot), or for printing to `QPrinter`. For example:

              QGraphicsScene scene = new QGraphicsScene();
              // scene.addItem(...

              QGraphicsView view = new QGraphicsView(scene);
              view.show();
              // ...

              QPrinter printer = new QPrinter(QPrinter.PrinterMode.HighResolution);
              printer.setPageSize(QPrinter.PageSize.A4);
              QPainter painter = new QPainter(printer);

              // print, fitting the viewport contents into a full page
              view.render(painter);

              // print the upper half of the viewport into the lower.
              // half of the page.
              QRect viewport = view.viewport().rect();
              view.render(painter,
                          new QRectF(0, printer.height() / 2, printer.width(), printer.height() / 2),
                          viewport.adjusted(0, 0, 0, -viewport.height() / 2)
              );

  If `source` is a null rect, this function will use `viewport()`->rect() to determine what to draw. If `target` is a null rect, the full dimensions of `painter`'s paint device (e.g., for a `QPrinter`, the page size) will be used.

  The source rect contents will be transformed according to `aspectRatioMode` to fit into the target rect. By default, the aspect ratio is kept, and `source` is scaled to fit in `target`.

See also:
  `QGraphicsScene::render()`.

### render

    public final void render(QPainter painter,
                             QRectF target,
                             QRect source,
                             Qt.AspectRatioMode aspectRatioMode)

  Renders the `source` rect, which is in view coordinates, from the scene into `target`, which is in paint device coordinates, using `painter`. This function is useful for capturing the contents of the view onto a paint device, such as a `QImage` (e.g., to take a screenshot), or for printing to `QPrinter`. For example:

              QGraphicsScene scene = new QGraphicsScene();
              // scene.addItem(...

              QGraphicsView view = new QGraphicsView(scene);
              view.show();
              // ...

              QPrinter printer = new QPrinter(QPrinter.PrinterMode.HighResolution);
              printer.setPageSize(QPrinter.PageSize.A4);
              QPainter painter = new QPainter(printer);

              // print, fitting the viewport contents into a full page
              view.render(painter);

              // print the upper half of the viewport into the lower.
              // half of the page.
              QRect viewport = view.viewport().rect();
              view.render(painter,
                          new QRectF(0, printer.height() / 2, printer.width(), printer.height() / 2),
                          viewport.adjusted(0, 0, 0, -viewport.height() / 2)
              );

  If `source` is a null rect, this function will use `viewport()`->rect() to determine what to draw. If `target` is a null rect, the full dimensions of `painter`'s paint device (e.g., for a `QPrinter`, the page size) will be used.

  The source rect contents will be transformed according to `aspectRatioMode` to fit into the target rect. By default, the aspect ratio is kept, and `source` is scaled to fit in `target`.

See also:
  `QGraphicsScene::render()`.

### renderHints

    public final QPainter.RenderHints renderHints()

  This property holds the default render hints for the view. These hints are used to initialize `QPainter` before each visible item is drawn. `QPainter` uses render hints to toggle rendering features such as antialiasing and smooth pixmap transformation.

  `QPainter::TextAntialiasing` is enabled by default.

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addRect(new QRectF(-10, -10, 20, 20));

              QGraphicsView view = new QGraphicsView(scene);
              view.setRenderHints(QPainter.RenderHint.Antialiasing, QPainter.RenderHint.SmoothPixmapTransform);
              view.show();

### resetCachedContent

    public final void resetCachedContent()

  Resets any cached content. Calling this function will clear `QGraphicsView`'s cache. If the current cache mode is `CacheNone` , this function does nothing.

  This function is called automatically for you when the `backgroundBrush` or `QGraphicsScene::backgroundBrush` properties change; you only need to call this function if you have reimplemented `QGraphicsScene::drawBackground()` or `QGraphicsView::drawBackground()` to draw a custom background, and need to trigger a full redraw.

See also:
  `cacheMode()`.

### resetMatrix

    public final void resetMatrix()

  Resets the view transformation matrix to the identity matrix.

### resetTransform

    public final void resetTransform()

  Resets the view transformation to the identity matrix.

See also:
  `transform()`, and `setTransform()`.

### resizeAnchor

    public final QGraphicsView.ViewportAnchor resizeAnchor()

  This property holds how the view should position the scene when the view is resized. `QGraphicsView` uses this property to decide how to position the scene in the viewport when the viewport widget's size changes. The default behavior, `NoAnchor` , leaves the scene's position unchanged during a resize; the top-left corner of the view will appear to be anchored while resizing.

  Note that the effect of this property is noticeable when only a part of the scene is visible (i.e., when there are scroll bars). Otherwise, if the whole scene fits in the view, `QGraphicsScene` uses the view `alignment` to position the scene in the view.

See also:
  `alignment`, `transformationAnchor`, and `Qt::WNorthWestGravity` .

### rotate

    public final void rotate(double angle)

  Rotates the current view transformation `angle` degrees clockwise.

See also:
  `setMatrix()`, `matrix()`, `scale()`, `shear()`, and `translate()`.

### rubberBandSelectionMode

    public final Qt.ItemSelectionMode rubberBandSelectionMode()

  This property holds the behavior for selecting items with a rubber band selection rectangle. This property defines how items are selected when using the `RubberBandDrag` drag mode.

  The default value is `Qt::IntersectsItemShape` ; all items whose shape intersects with or is contained by the rubber band are selected.

See also:
  `dragMode`, and `items()`.

### scale

    public final void scale(double sx,
                            double sy)

  Scales the current view transformation by (`sx`, `sy`).

See also:
  `setMatrix()`, `matrix()`, `rotate()`, `shear()`, and `translate()`.

### scene

    public final QGraphicsScene scene()

  Returns a pointer to the scene that is currently visualized in the view. If no scene is currently visualized, 0 is returned.

See also:
  `setScene()`.

### sceneRect

    public final QRectF sceneRect()

  This property holds the area of the scene visualized by this view. The scene rectangle defines the extent of the scene, and in the view's case, this means the area of the scene that you can navigate using the scroll bars.

  If unset, or if a null `QRectF` is set, this property has the same value as `QGraphicsScene::sceneRect`, and it changes with `QGraphicsScene::sceneRect`. Otherwise, the view's scene rect is unaffected by the scene.

  Note that, although the scene supports a virtually unlimited size, the range of the scroll bars will never exceed the range of an integer (INT_MIN, INT_MAX). When the scene is larger than the scroll bars' values, you can choose to use `translate()` to navigate the scene instead.

  By default, this property contains a rectangle at the origin with zero width and height.

See also:
  `QGraphicsScene::sceneRect`.

### setAlignment

    public final void setAlignment(Qt.AlignmentFlag[] alignment)

  This property holds the alignment of the scene in the view when the whole scene is visible. If the whole scene is visible in the view, (i.e., there are no visible scroll bars,) the view's alignment will decide where the scene will be rendered in the view. For example, if the alignment is `Qt::AlignCenter` , which is default, the scene will be centered in the view, and if the alignment is (`Qt::AlignLeft` | `Qt::AlignTop` ), the scene will be rendered in the top-left corner of the view.

### setAlignment

    public final void setAlignment(Qt.Alignment alignment)

  This property holds the alignment of the scene in the view when the whole scene is visible. If the whole scene is visible in the view, (i.e., there are no visible scroll bars,) the view's alignment will decide where the scene will be rendered in the view. For example, if the alignment is `Qt::AlignCenter` , which is default, the scene will be centered in the view, and if the alignment is (`Qt::AlignLeft` | `Qt::AlignTop` ), the scene will be rendered in the top-left corner of the view.

### setBackgroundBrush

    public final void setBackgroundBrush(QBrush brush)

  This property holds the background brush of the scene. This property sets the background brush for the scene in this view. It is used to override the scene's own background, and defines the behavior of `drawBackground()`. To provide custom background drawing for this view, you can reimplement `drawBackground()` instead.

  By default, this property contains a brush with the `Qt::NoBrush` pattern.

See also:
  `QGraphicsScene::backgroundBrush`, and `foregroundBrush`.

### setCacheMode

    public final void setCacheMode(QGraphicsView.CacheModeFlag[] mode)

  This property holds which parts of the view are cached. `QGraphicsView` can cache pre-rendered content in a `QPixmap`, which is then drawn onto the viewport. The purpose of such caching is to speed up the total rendering time for areas that are slow to render. Texture, gradient and alpha blended backgrounds, for example, can be notibly slow to render; especially with a transformed view. The `CacheBackground` flag enables caching of the view's background. For example:

              QGraphicsView view = new QGraphicsView();
              view.setBackgroundBrush(new QBrush(new QImage(":/images/backgroundtile.png")));
              view.setCacheMode(QGraphicsView.CacheModeFlag.CacheBackground);

  The cache is invalidated every time the view is transformed. However, when scrolling, only partial invalidation is required.

  By default, nothing is cached.

See also:
  `resetCachedContent()`, and `QPixmapCache`.

### setCacheMode

    public final void setCacheMode(QGraphicsView.CacheMode mode)

  This property holds which parts of the view are cached. `QGraphicsView` can cache pre-rendered content in a `QPixmap`, which is then drawn onto the viewport. The purpose of such caching is to speed up the total rendering time for areas that are slow to render. Texture, gradient and alpha blended backgrounds, for example, can be notibly slow to render; especially with a transformed view. The `CacheBackground` flag enables caching of the view's background. For example:

              QGraphicsView view = new QGraphicsView();
              view.setBackgroundBrush(new QBrush(new QImage(":/images/backgroundtile.png")));
              view.setCacheMode(QGraphicsView.CacheModeFlag.CacheBackground);

  The cache is invalidated every time the view is transformed. However, when scrolling, only partial invalidation is required.

  By default, nothing is cached.

See also:
  `resetCachedContent()`, and `QPixmapCache`.

### setDragMode

    public final void setDragMode(QGraphicsView.DragMode mode)

  This property holds the behavior for dragging the mouse over the scene while the left mouse button is pressed. This property defines what should happen when the user clicks on the scene background and drags the mouse (e.g., scrolling the viewport contents using a pointing hand cursor, or selecting multiple items with a rubber band). The default value, `NoDrag` , does nothing.

  This behavior only affects mouse clicks that are not handled by any item. You can define a custom behavior by creating a subclass of `QGraphicsView` and reimplementing `mouseMoveEvent()`.

### setForegroundBrush

    public final void setForegroundBrush(QBrush brush)

  This property holds the foreground brush of the scene. This property sets the foreground brush for the scene in this view. It is used to override the scene's own foreground, and defines the behavior of `drawForeground()`. To provide custom foreground drawing for this view, you can reimplement `drawForeground()` instead.

  By default, this property contains a brush with the `Qt::NoBrush` pattern.

See also:
  `QGraphicsScene::foregroundBrush`, and `backgroundBrush`.

### setInteractive

    public final void setInteractive(boolean allowed)

  This property holds whether the view allowed scene interaction. If enabled, this view is set to allow scene interaction. Otherwise, this view will not allow interaction, and any mouse or key events are ignored (i.e., it will act as a read-only view).

  By default, this property is true.

### setMatrix

    public final void setMatrix(QMatrix matrix)

  Sets the view's current transformation matrix to `matrix`.

  If `combine` is true, then `matrix` is combined with the current matrix; otherwise, `matrix`replaces the current matrix. `combine` is false by default.

  The transformation matrix tranforms the scene into view coordinates. Using the default transformation, provided by the identity matrix, one pixel in the view represents one unit in the scene (e.g., a 10x10 rectangular item is drawn using 10x10 pixels in the view). If a 2x2 scaling matrix is applied, the scene will be drawn in 1:2 (e.g., a 10x10 rectangular item is then drawn using 20x20 pixels in the view).

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addText("GraphicsView rotated clockwise");

              QGraphicsView view = new QGraphicsView(scene);
              view.rotate(90); // the text is rendered with a 90 degree clockwise rotation
              view.show();

  To simplify interation with items using a transformed view, `QGraphicsView` provides mapTo... and mapFrom... functions that can translate between scene and view coordinates. For example, you can call `mapToScene()` to map a view coordinate to a floating point scene coordinate, or `mapFromScene()` to map from floating point scene coordinates to view coordinates.

See also:
  `matrix()`, `rotate()`, `scale()`, `shear()`, and `translate()`.

### setMatrix

    public final void setMatrix(QMatrix matrix,
                                boolean combine)

  Sets the view's current transformation matrix to `matrix`.

  If `combine` is true, then `matrix` is combined with the current matrix; otherwise, `matrix`replaces the current matrix. `combine` is false by default.

  The transformation matrix tranforms the scene into view coordinates. Using the default transformation, provided by the identity matrix, one pixel in the view represents one unit in the scene (e.g., a 10x10 rectangular item is drawn using 10x10 pixels in the view). If a 2x2 scaling matrix is applied, the scene will be drawn in 1:2 (e.g., a 10x10 rectangular item is then drawn using 20x20 pixels in the view).

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addText("GraphicsView rotated clockwise");

              QGraphicsView view = new QGraphicsView(scene);
              view.rotate(90); // the text is rendered with a 90 degree clockwise rotation
              view.show();

  To simplify interation with items using a transformed view, `QGraphicsView` provides mapTo... and mapFrom... functions that can translate between scene and view coordinates. For example, you can call `mapToScene()` to map a view coordinate to a floating point scene coordinate, or `mapFromScene()` to map from floating point scene coordinates to view coordinates.

See also:
  `matrix()`, `rotate()`, `scale()`, `shear()`, and `translate()`.

### setOptimizationFlag

    public final void setOptimizationFlag(QGraphicsView.OptimizationFlag flag)

  Enables `flag` if `enabled` is true; otherwise disables `flag`.

See also:
  `optimizationFlags`.

### setOptimizationFlag

    public final void setOptimizationFlag(QGraphicsView.OptimizationFlag flag,
                                          boolean enabled)

  Enables `flag` if `enabled` is true; otherwise disables `flag`.

See also:
  `optimizationFlags`.

### setOptimizationFlags

    public final void setOptimizationFlags(QGraphicsView.OptimizationFlag[] flags)

  This property holds flags that can be used to tune `QGraphicsView`'s performance.. `QGraphicsView` uses clipping, extra bounding rect adjustments, and certain other aids to improve rendering quality and performance for the common case graphics scene. However, depending on the target platform, the scene, and the viewport in use, some of these operations can degrade performance.

  The effect varies from flag to flag; see the OptimizationFlags documentation for details.

  By default, no optimization flags are enabled.

See also:
  `setOptimizationFlag()`.

### setOptimizationFlags

    public final void setOptimizationFlags(QGraphicsView.OptimizationFlags flags)

  This property holds flags that can be used to tune `QGraphicsView`'s performance.. `QGraphicsView` uses clipping, extra bounding rect adjustments, and certain other aids to improve rendering quality and performance for the common case graphics scene. However, depending on the target platform, the scene, and the viewport in use, some of these operations can degrade performance.

  The effect varies from flag to flag; see the OptimizationFlags documentation for details.

  By default, no optimization flags are enabled.

See also:
  `setOptimizationFlag()`.

### setRenderHint

    public final void setRenderHint(QPainter.RenderHint hint)

  If `enabled` is true, the render hint `hint` is enabled; otherwise it is disabled.

See also:
  `renderHints`.

### setRenderHint

    public final void setRenderHint(QPainter.RenderHint hint,
                                    boolean enabled)

  If `enabled` is true, the render hint `hint` is enabled; otherwise it is disabled.

See also:
  `renderHints`.

### setRenderHints

    public final void setRenderHints(QPainter.RenderHint[] hints)

  This property holds the default render hints for the view. These hints are used to initialize `QPainter` before each visible item is drawn. `QPainter` uses render hints to toggle rendering features such as antialiasing and smooth pixmap transformation.

  `QPainter::TextAntialiasing` is enabled by default.

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addRect(new QRectF(-10, -10, 20, 20));

              QGraphicsView view = new QGraphicsView(scene);
              view.setRenderHints(QPainter.RenderHint.Antialiasing, QPainter.RenderHint.SmoothPixmapTransform);
              view.show();

### setRenderHints

    public final void setRenderHints(QPainter.RenderHints hints)

  This property holds the default render hints for the view. These hints are used to initialize `QPainter` before each visible item is drawn. `QPainter` uses render hints to toggle rendering features such as antialiasing and smooth pixmap transformation.

  `QPainter::TextAntialiasing` is enabled by default.

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addRect(new QRectF(-10, -10, 20, 20));

              QGraphicsView view = new QGraphicsView(scene);
              view.setRenderHints(QPainter.RenderHint.Antialiasing, QPainter.RenderHint.SmoothPixmapTransform);
              view.show();

### setResizeAnchor

    public final void setResizeAnchor(QGraphicsView.ViewportAnchor anchor)

  This property holds how the view should position the scene when the view is resized. `QGraphicsView` uses this property to decide how to position the scene in the viewport when the viewport widget's size changes. The default behavior, `NoAnchor` , leaves the scene's position unchanged during a resize; the top-left corner of the view will appear to be anchored while resizing.

  Note that the effect of this property is noticeable when only a part of the scene is visible (i.e., when there are scroll bars). Otherwise, if the whole scene fits in the view, `QGraphicsScene` uses the view `alignment` to position the scene in the view.

See also:
  `alignment`, `transformationAnchor`, and `Qt::WNorthWestGravity` .

### setRubberBandSelectionMode

    public final void setRubberBandSelectionMode(Qt.ItemSelectionMode mode)

  This property holds the behavior for selecting items with a rubber band selection rectangle. This property defines how items are selected when using the `RubberBandDrag` drag mode.

  The default value is `Qt::IntersectsItemShape` ; all items whose shape intersects with or is contained by the rubber band are selected.

See also:
  `dragMode`, and `items()`.

### setScene

    public final void setScene(QGraphicsScene scene)

  Sets the current scene to `scene`. If `scene` is already being viewed, this function does nothing.

  When a scene is set on a view, the `QGraphicsScene::changed()` signal is automatically connected to this view's `updateScene()` slot, and the view's scroll bars are adjusted to fit the size of the scene.

See also:
  `scene()`.

### setSceneRect

    public final void setSceneRect(QRectF rect)

  This property holds the area of the scene visualized by this view. The scene rectangle defines the extent of the scene, and in the view's case, this means the area of the scene that you can navigate using the scroll bars.

  If unset, or if a null `QRectF` is set, this property has the same value as `QGraphicsScene::sceneRect`, and it changes with `QGraphicsScene::sceneRect`. Otherwise, the view's scene rect is unaffected by the scene.

  Note that, although the scene supports a virtually unlimited size, the range of the scroll bars will never exceed the range of an integer (INT_MIN, INT_MAX). When the scene is larger than the scroll bars' values, you can choose to use `translate()` to navigate the scene instead.

  By default, this property contains a rectangle at the origin with zero width and height.

See also:
  `QGraphicsScene::sceneRect`.

### setSceneRect

    public final void setSceneRect(double x,
                                   double y,
                                   double w,
                                   double h)

  This property holds the area of the scene visualized by this view. The scene rectangle defines the extent of the scene, and in the view's case, this means the area of the scene that you can navigate using the scroll bars.

  If unset, or if a null `QRectF` is set, this property has the same value as `QGraphicsScene::sceneRect`, and it changes with `QGraphicsScene::sceneRect`. Otherwise, the view's scene rect is unaffected by the scene.

  Note that, although the scene supports a virtually unlimited size, the range of the scroll bars will never exceed the range of an integer (INT_MIN, INT_MAX). When the scene is larger than the scroll bars' values, you can choose to use `translate()` to navigate the scene instead.

  By default, this property contains a rectangle at the origin with zero width and height.

See also:
  `QGraphicsScene::sceneRect`.

### setTransform

    public final void setTransform(QTransform matrix)

  Sets the view's current transformation matrix to `matrix`.

  If `combine` is true, then `matrix` is combined with the current matrix; otherwise, `matrix`replaces the current matrix. `combine` is false by default.

  The transformation matrix tranforms the scene into view coordinates. Using the default transformation, provided by the identity matrix, one pixel in the view represents one unit in the scene (e.g., a 10x10 rectangular item is drawn using 10x10 pixels in the view). If a 2x2 scaling matrix is applied, the scene will be drawn in 1:2 (e.g., a 10x10 rectangular item is then drawn using 20x20 pixels in the view).

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addText("GraphicsView rotated clockwise");

              QGraphicsView view = new QGraphicsView(scene);
              view.rotate(90); // the text is rendered with a 90 degree clockwise rotation
              view.show();

  To simplify interation with items using a transformed view, `QGraphicsView` provides mapTo... and mapFrom... functions that can translate between scene and view coordinates. For example, you can call `mapToScene()` to map a view coordiate to a floating point scene coordinate, or `mapFromScene()` to map from floating point scene coordinates to view coordinates.

See also:
  `transform()`, `rotate()`, `scale()`, `shear()`, and `translate()`.

### setTransform

    public final void setTransform(QTransform matrix,
                                   boolean combine)

  Sets the view's current transformation matrix to `matrix`.

  If `combine` is true, then `matrix` is combined with the current matrix; otherwise, `matrix`replaces the current matrix. `combine` is false by default.

  The transformation matrix tranforms the scene into view coordinates. Using the default transformation, provided by the identity matrix, one pixel in the view represents one unit in the scene (e.g., a 10x10 rectangular item is drawn using 10x10 pixels in the view). If a 2x2 scaling matrix is applied, the scene will be drawn in 1:2 (e.g., a 10x10 rectangular item is then drawn using 20x20 pixels in the view).

  Example:

              QGraphicsScene scene = new QGraphicsScene();
              scene.addText("GraphicsView rotated clockwise");

              QGraphicsView view = new QGraphicsView(scene);
              view.rotate(90); // the text is rendered with a 90 degree clockwise rotation
              view.show();

  To simplify interation with items using a transformed view, `QGraphicsView` provides mapTo... and mapFrom... functions that can translate between scene and view coordinates. For example, you can call `mapToScene()` to map a view coordiate to a floating point scene coordinate, or `mapFromScene()` to map from floating point scene coordinates to view coordinates.

See also:
  `transform()`, `rotate()`, `scale()`, `shear()`, and `translate()`.

### setTransformationAnchor

    public final void setTransformationAnchor(QGraphicsView.ViewportAnchor anchor)

  This property holds how the view should position the scene during transformations. `QGraphicsView` uses this property to decide how to position the scene in the viewport when the transformation matrix changes, and the coordinate system of the view is transformed. The default behavior, `AnchorViewCenter` , ensures that the scene point at the center of the view remains unchanged during transformations (e.g., when rotating, the scene will appear to rotate around the center of the view).

  Note that the effect of this property is noticeable when only a part of the scene is visible (i.e., when there are scroll bars). Otherwise, if the whole scene fits in the view, `QGraphicsScene` uses the view `alignment` to position the scene in the view.

See also:
  `alignment`, and `resizeAnchor`.

### setViewportUpdateMode

    public final void setViewportUpdateMode(QGraphicsView.ViewportUpdateMode mode)

  This property holds how the viewport should update its contents. `QGraphicsView` uses this property to decide how to update areas of the scene that have been reexposed or changed. Usually you do not need to modify this property, but there are some cases where doing so can improve rendering performance. See the `ViewportUpdateMode` documentation for specific details.

  The default value is `MinimalViewportUpdate` , where `QGraphicsView` will update as small an area of the viewport as possible when the contents change.

See also:
  `ViewportUpdateMode` , and `cacheMode`.

### shear

    public final void shear(double sh,
                            double sv)

  Shears the current view transformation by (`sh`, `sv`).

See also:
  `setMatrix()`, `matrix()`, `rotate()`, `scale()`, and `translate()`.

### transform

    public final QTransform transform()

  Returns the current transformation matrix for the view. If no current transformation is set, the identity matrix is returned.

See also:
  `setTransform()`, `rotate()`, `scale()`, `shear()`, and `translate()`.

### transformationAnchor

    public final QGraphicsView.ViewportAnchor transformationAnchor()

  This property holds how the view should position the scene during transformations. `QGraphicsView` uses this property to decide how to position the scene in the viewport when the transformation matrix changes, and the coordinate system of the view is transformed. The default behavior, `AnchorViewCenter` , ensures that the scene point at the center of the view remains unchanged during transformations (e.g., when rotating, the scene will appear to rotate around the center of the view).

  Note that the effect of this property is noticeable when only a part of the scene is visible (i.e., when there are scroll bars). Otherwise, if the whole scene fits in the view, `QGraphicsScene` uses the view `alignment` to position the scene in the view.

See also:
  `alignment`, and `resizeAnchor`.

### translate

    public final void translate(double dx,
                                double dy)

  Translates the current view transformation by (`dx`, `dy`).

See also:
  `setMatrix()`, `matrix()`, `rotate()`, and `shear()`.

### updateScene

    public final void updateScene(java.util.List rects)

  Schedules an update of the scene rectangles `rects`.

See also:
  `QGraphicsScene::changed()` .

### updateSceneRect

    public final void updateSceneRect(QRectF rect)

  Notifies `QGraphicsView` that the scene's scene rect has changed. `rect` is the new scene rect. If the view already has an explicitly set scene rect, this function does nothing.

See also:
  `sceneRect`, and `QGraphicsScene::sceneRectChanged()` .

### viewportTransform

    public final QTransform viewportTransform()

  Returns a matrix that maps viewport coordinates to scene coordinates.

See also:
  `mapToScene()`, and `mapFromScene()`.

### viewportUpdateMode

    public final QGraphicsView.ViewportUpdateMode viewportUpdateMode()

  This property holds how the viewport should update its contents. `QGraphicsView` uses this property to decide how to update areas of the scene that have been reexposed or changed. Usually you do not need to modify this property, but there are some cases where doing so can improve rendering performance. See the `ViewportUpdateMode` documentation for specific details.

  The default value is `MinimalViewportUpdate` , where `QGraphicsView` will update as small an area of the viewport as possible when the contents change.

See also:
  `ViewportUpdateMode` , and `cacheMode`.

### drawBackground

    protected void drawBackground(QPainter painter,
                                  QRectF rect)

  Draws the background of the scene using `painter`, before any items and the foreground are drawn. Reimplement this function to provide a custom background for this view.

  If all you want is to define a color, texture or gradient for the background, you can call `setBackgroundBrush()` instead.

  All painting is done in scene coordinates. `rect` is the exposed rectangle.

  The default implementation fills `rect` using the view's `backgroundBrush`. If no such brush is defined (the default), the scene's `drawBackground()` function is called instead.

See also:
  `drawForeground()`, and `QGraphicsScene::drawBackground()`.

### drawForeground

    protected void drawForeground(QPainter painter,
                                  QRectF rect)

  Draws the foreground of the scene using `painter`, after the background and all items are drawn. Reimplement this function to provide a custom foreground for this view.

  If all you want is to define a color, texture or gradient for the foreground, you can call `setForegroundBrush()` instead.

  All painting is done in scene coordinates. `rect` is the exposed rectangle.

  The default implementation fills `rect` using the view's `foregroundBrush`. If no such brush is defined (the default), the scene's `drawForeground()` function is called instead.

See also:
  `drawBackground()`, and `QGraphicsScene::drawForeground()`.

### drawItems

    protected void drawItems(QPainter painter,
                             QGraphicsItemInterface[] items,
                             QStyleOptionGraphicsItem[] options)

  Draws the items `items` in the scene using `painter`, after the background and before the foreground are drawn. `numItems` is the number of items in `items` and options in `options`. `options` is a list of styleoptions; one for each item. Reimplement this function to provide custom item drawing for this view.

  The default implementation calls the scene's `drawItems()` function.

See also:
  `drawForeground()`, `drawBackground()`, and `QGraphicsScene::drawItems()`.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD