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 QCursor

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.gui.QCursor

All Implemented Interfaces:
  QtJambiInterface, java.lang.Cloneable

    public class QCursor

extends QtJambiObject
implements java.lang.Cloneable

The QCursor class provides a mouse cursor with an arbitrary shape. This class is mainly used to create mouse cursors that are associated with particular widgets and to get and set the position of the mouse cursor.

Qt has a number of standard cursor shapes, but you can also make custom cursor shapes based on a `QBitmap`, a mask and a hotspot.

To associate a cursor with a widget, use `QWidget::setCursor()`. To associate a cursor with all widgets (normally for a short period of time), use `QApplication::setOverrideCursor()`.

To set a cursor shape use `QCursor::setShape()` or use the QCursor constructor which takes the shape as argument, or you can use one of the predefined cursors defined in the `Qt::CursorShape` enum.

If you want to create a cursor with your own bitmap, either use the QCursor constructor which takes a bitmap and a mask or the constructor which takes a pixmap as arguments.

To set or get the position of the mouse cursor use the static methods `QCursor::pos()` and `QCursor::setPos()`.

Note: It is possible to create a QCursor before `QApplication`, but it is not useful except as a place-holder for a real QCursor created after `QApplication`. Attempting to use a QCursor that was created before `QApplication` will result in a crash.

## A Note for X11 Users

On X11, Qt supports the Xcursor library, which allows for full color icon themes. The table below shows the cursor name used for each `Qt::CursorShape` value. If a cursor cannot be found using the name shown below, a standard X11 cursor will be used instead. Note: X11 does not provide appropriate cursors for all possible `Qt::CursorShape` values. It is possible that some cursors will be taken from the Xcursor theme, while others will use an internal bitmap cursor.

Shape | `Qt::CursorShape` Value | Cursor Name | Shape | `Qt::CursorShape` Value | Cursor Name
--- | --- | --- | --- | --- | ---
| `Qt::ArrowCursor` | `left_ptr` |  | `Qt::SizeVerCursor` | `size_ver`
| `Qt::UpArrowCursor` | `up_arrow` |  | `Qt::SizeHorCursor` | `size_hor`
| `Qt::CrossCursor` | `cross` |  | `Qt::SizeBDiagCursor` | `size_bdiag`
| `Qt::IBeamCursor` | `ibeam` |  | `Qt::SizeFDiagCursor` | `size_fdiag`
| `Qt::WaitCursor` | `wait` |  | `Qt::SizeAllCursor` | `size_all`
| `Qt::BusyCursor` | `left_ptr_watch` |  | `Qt::SplitVCursor` | `split_v`
| `Qt::ForbiddenCursor` | `forbidden` |  | `Qt::SplitHCursor` | `split_h`
| `Qt::PointingHandCursor` | `pointing_hand` |  | `Qt::OpenHandCursor` | `openhand`
| `Qt::WhatsThisCursor` | `whats_this` |  | `Qt::ClosedHandCursor` | `closedhand`

See also:
  `QWidget`, and GUI Design Handbook: Cursors.

Nested Class Summary

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.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QCursor()` Constructs a cursor with the default arrow shape.
`QCursor(QBitmap bitmap, QBitmap mask)` Constructs a custom bitmap cursor.
`QCursor(QBitmap bitmap, QBitmap mask, int hotX)` Constructs a custom bitmap cursor.
`QCursor(QBitmap bitmap, QBitmap mask, int hotX, int hotY)` Constructs a custom bitmap cursor.
`QCursor(QCursor cursor)` Constructs a copy of the cursor `c`.
`QCursor(QPixmap pixmap)` Constructs a custom pixmap cursor.
`QCursor(QPixmap pixmap, int hotX)` Constructs a custom pixmap cursor.
`QCursor(QPixmap pixmap, int hotX, int hotY)` Constructs a custom pixmap cursor.
`QCursor(Qt.CursorShape shape)` Constructs a cursor with the specified `shape`.

Method Summary
`QBitmap` | `bitmap()` Returns the cursor bitmap, or null if it is one of the standard cursors.
`QCursor` | `clone()` This method is reimplemented for internal reasons
`QPoint` | `hotSpot()` Returns the cursor hot spot, or (0, 0) if it is one of the standard cursors.
`QBitmap` | `mask()` Returns the cursor bitmap mask, or null if it is one of the standard cursors.
`QPixmap` | `pixmap()` Returns the cursor pixmap.
`static QPoint` | `pos()` Returns the position of the cursor (hot spot) in global screen coordinates.
`void` | `readFrom(QDataStream inS)` Reads a QCursor
`static void` | `setPos(int x, int y)` Moves the cursor (hot spot) to the global screen position (`x`, `y`).
`static void` | `setPos(QPoint p)` Moves the cursor (hot spot) to the global screen position at point `p`.
`void` | `setShape(Qt.CursorShape newShape)` Sets the cursor to the shape identified by `shape`.
`Qt.CursorShape` | `shape()` Returns the cursor shape identifier.
`void` | `writeTo(QDataStream outS)` Writes thisQCursor

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
`getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

Constructor Detail

### QCursor

    public QCursor()

  Constructs a cursor with the default arrow shape.

### QCursor

    public QCursor(Qt.CursorShape shape)

  Constructs a cursor with the specified `shape`.

  See `Qt::CursorShape` for a list of shapes.

See also:
  `setShape()`.

### QCursor

    public QCursor(QBitmap bitmap,
                   QBitmap mask,
                   int hotX)

  Constructs a custom bitmap cursor.

  `bitmap` and `mask` make up the bitmap. `hotX` and `hotY` define the cursor's hot spot.

  If `hotX` is negative, it is set to the `bitmap().width()/2`. If `hotY` is negative, it is set to the `bitmap().height()/2`.

  The cursor `bitmap` (B) and `mask` (M) bits are combined like this:

  - B=1 and M=1 gives black.
  - B=0 and M=1 gives white.
  - B=0 and M=0 gives transparent.
  - B=1 and M=0 gives an XOR'd result.
  Use the global Qt color `Qt::color0` to draw 0-pixels and `Qt::color1` to draw 1-pixels in the bitmaps.

  Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32 x 32 cursors, because this size is supported on all platforms. Some platforms also support 16 x 16, 48 x 48, and 64 x 64 cursors.

  Note: On Windows CE, the cursor size is fixed. If the pixmap is bigger than the system size, it will be scaled.

See also:
  QBitmap::QBitmap(), and `QBitmap::setMask()`.

### QCursor

    public QCursor(QBitmap bitmap,
                   QBitmap mask)

  Constructs a custom bitmap cursor.

  `bitmap` and `mask` make up the bitmap. `hotX` and `hotY` define the cursor's hot spot.

  If `hotX` is negative, it is set to the `bitmap().width()/2`. If `hotY` is negative, it is set to the `bitmap().height()/2`.

  The cursor `bitmap` (B) and `mask` (M) bits are combined like this:

  - B=1 and M=1 gives black.
  - B=0 and M=1 gives white.
  - B=0 and M=0 gives transparent.
  - B=1 and M=0 gives an XOR'd result.
  Use the global Qt color `Qt::color0` to draw 0-pixels and `Qt::color1` to draw 1-pixels in the bitmaps.

  Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32 x 32 cursors, because this size is supported on all platforms. Some platforms also support 16 x 16, 48 x 48, and 64 x 64 cursors.

  Note: On Windows CE, the cursor size is fixed. If the pixmap is bigger than the system size, it will be scaled.

See also:
  QBitmap::QBitmap(), and `QBitmap::setMask()`.

### QCursor

    public QCursor(QBitmap bitmap,
                   QBitmap mask,
                   int hotX,
                   int hotY)

  Constructs a custom bitmap cursor.

  `bitmap` and `mask` make up the bitmap. `hotX` and `hotY` define the cursor's hot spot.

  If `hotX` is negative, it is set to the `bitmap().width()/2`. If `hotY` is negative, it is set to the `bitmap().height()/2`.

  The cursor `bitmap` (B) and `mask` (M) bits are combined like this:

  - B=1 and M=1 gives black.
  - B=0 and M=1 gives white.
  - B=0 and M=0 gives transparent.
  - B=1 and M=0 gives an XOR'd result.
  Use the global Qt color `Qt::color0` to draw 0-pixels and `Qt::color1` to draw 1-pixels in the bitmaps.

  Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32 x 32 cursors, because this size is supported on all platforms. Some platforms also support 16 x 16, 48 x 48, and 64 x 64 cursors.

  Note: On Windows CE, the cursor size is fixed. If the pixmap is bigger than the system size, it will be scaled.

See also:
  QBitmap::QBitmap(), and `QBitmap::setMask()`.

### QCursor

    public QCursor(QCursor cursor)

  Constructs a copy of the cursor `c`.

### QCursor

    public QCursor(QPixmap pixmap,
                   int hotX)

  Constructs a custom pixmap cursor.

  `pixmap` is the image. It is usual to give it a mask (set using `QPixmap::setMask()`). `hotX` and `hotY` define the cursor's hot spot.

  If `hotX` is negative, it is set to the `pixmap().width()/2`. If `hotY` is negative, it is set to the `pixmap().height()/2`.

  Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32 x 32 cursors, because this size is supported on all platforms. Some platforms also support 16 x 16, 48 x 48, and 64 x 64 cursors.

  Note: On Windows CE, the cursor size is fixed. If the pixmap is bigger than the system size, it will be scaled.

See also:
  QPixmap::QPixmap(), and `QPixmap::setMask()`.

### QCursor

    public QCursor(QPixmap pixmap)

  Constructs a custom pixmap cursor.

  `pixmap` is the image. It is usual to give it a mask (set using `QPixmap::setMask()`). `hotX` and `hotY` define the cursor's hot spot.

  If `hotX` is negative, it is set to the `pixmap().width()/2`. If `hotY` is negative, it is set to the `pixmap().height()/2`.

  Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32 x 32 cursors, because this size is supported on all platforms. Some platforms also support 16 x 16, 48 x 48, and 64 x 64 cursors.

  Note: On Windows CE, the cursor size is fixed. If the pixmap is bigger than the system size, it will be scaled.

See also:
  QPixmap::QPixmap(), and `QPixmap::setMask()`.

### QCursor

    public QCursor(QPixmap pixmap,
                   int hotX,
                   int hotY)

  Constructs a custom pixmap cursor.

  `pixmap` is the image. It is usual to give it a mask (set using `QPixmap::setMask()`). `hotX` and `hotY` define the cursor's hot spot.

  If `hotX` is negative, it is set to the `pixmap().width()/2`. If `hotY` is negative, it is set to the `pixmap().height()/2`.

  Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32 x 32 cursors, because this size is supported on all platforms. Some platforms also support 16 x 16, 48 x 48, and 64 x 64 cursors.

  Note: On Windows CE, the cursor size is fixed. If the pixmap is bigger than the system size, it will be scaled.

See also:
  QPixmap::QPixmap(), and `QPixmap::setMask()`.

Method Detail

### hotSpot

    public final QPoint hotSpot()

  Returns the cursor hot spot, or (0, 0) if it is one of the standard cursors.

### writeTo

    public final void writeTo(QDataStream outS)

  Writes thisQCursor

### readFrom

    public final void readFrom(QDataStream inS)

  Reads a QCursor

### pixmap

    public final QPixmap pixmap()

  Returns the cursor pixmap. This is only valid if the cursor is a pixmap cursor.

### setShape

    public final void setShape(Qt.CursorShape newShape)

  Sets the cursor to the shape identified by `shape`.

  See `Qt::CursorShape` for the list of cursor shapes.

See also:
  `shape()`.

### shape

    public final Qt.CursorShape shape()

  Returns the cursor shape identifier. The return value is one of the `Qt::CursorShape` enum values (cast to an int).

See also:
  `setShape()`.

### pos

    public static QPoint pos()

  Returns the position of the cursor (hot spot) in global screen coordinates.

  You can call `QWidget::mapFromGlobal()` to translate it to widget coordinates.

See also:
  `setPos()`, `QWidget::mapFromGlobal()`, and `QWidget::mapToGlobal()`.

### setPos

    public static void setPos(QPoint p)

  Moves the cursor (hot spot) to the global screen position at point `p`.

### setPos

    public static void setPos(int x,
                              int y)

  Moves the cursor (hot spot) to the global screen position (`x`, `y`).

  You can call `QWidget::mapToGlobal()` to translate widget coordinates to global screen coordinates.

See also:
  `pos()`, `QWidget::mapFromGlobal()`, and `QWidget::mapToGlobal()`.

### bitmap

    public final QBitmap bitmap()

  Returns the cursor bitmap, or null if it is one of the standard cursors.

### mask

    public final QBitmap mask()

  Returns the cursor bitmap mask, or null if it is one of the standard cursors.

### clone

    public QCursor clone()

  This method is reimplemented for internal reasons

  Overrides:
    `clone` in class `java.lang.Object`

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