class KCursor

# class KCursor | A QCursor wrapper allowing "themed" cursors and auto-hiding cursors. More...
Definition | `#include <kcursor.h>`
Inherits | Qt (qt) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- KCursor ()

#### Public Static Methods

- static QCursor handCursor ()
- static QCursor workingCursor ()
- static QCursor arrowCursor ()
- static QCursor upArrowCursor ()
- static QCursor crossCursor ()
- static QCursor waitCursor ()
- static QCursor ibeamCursor ()
- static QCursor sizeVerCursor ()
- static QCursor sizeHorCursor ()
- static QCursor sizeBDiagCursor ()
- static QCursor sizeFDiagCursor ()
- static QCursor sizeAllCursor ()
- static QCursor blankCursor ()
- static QCursor whatsThisCursor ()
- static void setAutoHideCursor ( QWidget *w, bool enable )
- static void setAutoHideCursor ( QWidget *w, bool enable, bool customEventFilter )
- static void setHideCursorDelay ( int ms )
- static int hideCursorDelay ()
- static void autoHideEventFilter ( QObject *, QEvent * )

## Detailed Description

A wrapper around QCursor that allows for "themed" cursors.

Currently, the only themed cursor is a hand shaped cursor.

A typical usage would be

     	setCursor(KCursor::handCursor());

KCursor () | ### KCursor

Constructor.

Does not do anything so far.

QCursor handCursor () | ### handCursor

[static]

Returns the proper hand cursor according to the current GUI style (static function).

QCursor workingCursor () | ### workingCursor

[static]

Returns the proper arrow+hourglass cursor according to the current GUI style (static function).

QCursor arrowCursor () | ### arrowCursor

[static]

Returns the proper arrow cursor according to the current GUI style (static function).

QCursor upArrowCursor () | ### upArrowCursor

[static]

Returns the proper up arrow cursor according to the current GUI style (static function).

QCursor crossCursor () | ### crossCursor

[static]

Returns the proper cross-hair cursor according to the current GUI style (static function).

QCursor waitCursor () | ### waitCursor

[static]

Returns the proper hourglass cursor according to the current GUI style (static function).

QCursor ibeamCursor () | ### ibeamCursor

[static]

Returns the proper text cursor according to the current GUI style (static function).

QCursor sizeVerCursor () | ### sizeVerCursor

[static]

Returns the proper vertical resize cursor according to the current GUI style (static function).

QCursor sizeHorCursor () | ### sizeHorCursor

[static]

Returns the proper horizontal resize cursor according to the current GUI style (static function).

QCursor sizeBDiagCursor () | ### sizeBDiagCursor

[static]

Returns the proper diagonal resize (/) cursor according to the current GUI style (static function).

QCursor sizeFDiagCursor () | ### sizeFDiagCursor

[static]

Returns the proper diagonal resize (\) cursor according to the current GUI style (static function).

QCursor sizeAllCursor () | ### sizeAllCursor

[static]

Returns the proper all-directions resize cursor according to the current GUI style (static function).

QCursor blankCursor () | ### blankCursor

[static]

Returns a blank or invisible cursor (static function).

QCursor whatsThisCursor () | ### whatsThisCursor

[static]

Returns a WhatsThis cursor (static function).

void setAutoHideCursor ( QWidget *w, bool enable ) | ### setAutoHideCursor

[static]

Sets auto-hiding the cursor for widget `w`. Enabling it will result in the cursor being hidden when

- a key-event happens
- there are no key-events for a configured time-frame (see setHideCursorDelay())

The cursor will be shown again when the focus is lost or a mouse-event happens.

Side effect: when enabling auto-hide, mouseTracking is enabled for the specified widget, because it's needed to get mouse-move-events. So don't disable mouseTracking for a widget while using auto-hide for it.

When disabling auto-hide, mouseTracking will be disabled, so if you need mouseTracking after disabling auto-hide, you have to reenable mouseTracking.

If you want to use auto-hiding for widgets that don't take focus, e.g. a QCanvasView, then you have to pass all key-events that should trigger auto-hiding to autoHideEventFilter().

void setAutoHideCursor ( QWidget *w, bool enable, bool customEventFilter ) | ### setAutoHideCursor

[static]

Overloaded method for the case where you have an event-filter installed on the widget you want to enable auto-cursor-hiding.

In this case set `customEventFilter` to true and call autoHideEventFilter() from the beginning of your eventFilter().

See also: autoHideEventFilter

void setHideCursorDelay ( int ms ) | ### setHideCursorDelay

[static]

Sets the delay time in milliseconds for auto-hiding. When no keyboard events arrive for that time-frame, the cursor will be hidden.

Default is 5000, i.e. 5 seconds.

int hideCursorDelay () | ### hideCursorDelay

[static]

Default is 5000, i.e. 5 seconds.

Returns: the current auto-hide delay time.

void autoHideEventFilter ( QObject *, QEvent * ) | ### autoHideEventFilter

[static]

KCursor has to install an eventFilter over the widget you want to auto-hide. If you have an own eventFilter() on that widget and stop some events by returning true, you might break auto-hiding, because KCursor doesn't get those events.

In this case, you need to call setAutoHideCursor( widget, true, true ); to tell KCursor not to install an eventFilter. Then you call this method from the beginning of your eventFilter, for example:

     edit = new KEdit( this, "some edit widget" );
     edit->installEventFilter( this );
     KCursor::setAutoHideCursor( edit, true, true );

     [...]

     bool YourClass::eventFilter( QObject *o, QEvent *e )
     {
         if ( o == edit ) // only that widget where you enabled auto-hide!
             KCursor::autoHideEventFilter( o, e );

         // now you can do your own event-processing
         [...]
     }

Note that you must not call KCursor::autoHideEventFilter() when you didn't enable or after disabling auto-hiding.

- Author: Kurt Granroth
- Generated: root on macppc.ports.openbsd.org on Sat Sep 6 10:36:37 2003, using kdoc 2.0a54.