|  | Home · Overviews · Examples

# QCursor Class Reference
[com.trolltech.qt.gui module]

The `QCursor` class provides a mouse cursor with an arbitrary shape. More...

## Detailed Description

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.