Qt logo

QKeyEvent Class Reference


The QKeyEvent class contains parameters that describe a key event. More...

#include <qevent.h>

Inherits QEvent.

List of all member functions.

Public Members


Detailed Description

The QKeyEvent class contains parameters that describe a key event.

Key events occur when a key is pressed or released when a widget has keyboard input focus.

A key event contains a special accept flag which tells whether the receiver wants the key. You should call QKeyEvent::ignore() if the key press or release event is not handled by your widget.

The QWidget::setEnable() function can be used to enable or disable mouse and keyboard events for a widget.

The event handlers QWidget::keyPressEvent() and QWidget::keyReleaseEvent() receive key events.

See also: QFocusEvent and QWidget::grabKeyboard().

Examples: picture/picture.cpp


Member Function Documentation

QKeyEvent::QKeyEvent(Typetype, intkey, intascii, intstate, constQString&text=QString::null, boolautorep=FALSE, ushortcount=1)

Constructs a key event object.

The type parameter must be QEvent::KeyPress or QEvent::KeyRelease.

If key is 0, the event is not a result of a known key (e.g. it may be the result of a compose sequence or keyboard macro).

text will be returned by text().

If autorep is TRUE then isAutoRepeat() will be TRUE.

count is the number of single keys.

The accept flag is set to TRUE.

voidQKeyEvent::accept()

Sets the accept flag of the key event object.

Setting the accept parameter indicates that the receiver of the event wants the key event. Unwanted key events are sent to the parent widget.

The accept flag is set by default.

See also: ignore().

intQKeyEvent::ascii()const

Returns the ASCII code of the key that was pressed or released. Internationalized software should use text() instead.

See also: text().

Examples: picture/picture.cpp

intQKeyEvent::count()const

Returns the number of single keys for this event. If text() is not empty, this is the length of the string. But Qt also compresses auto repeated key presses for non-visible keycodes, such as BackSpace or Delete. It is save to ignore count() and simply react on new key events, but if your application cannot keep up with the system's keyboard repeat rate, the users might feel it is a bit klundgy. Smarter applications therefore check count() and contain fancy code to optimize repetitive keysstrokes, even if the screen update might temporarily fell behind.

voidQKeyEvent::ignore()

Clears the accept flag parameter of the key event object.

Clearing the accept parameter indicates that the event receiver does not want the key event. Unwanted key events are sent to the parent widget.

The accept flag is set by default.

See also: accept().

boolQKeyEvent::isAccepted()const

Returns TRUE if the receiver of the event wants to keep the key.

boolQKeyEvent::isAutoRepeat()const

Returns TRUE if the event was generated by the auto-repeat feature of the system. Some applications will choose to ignore events of this type.

intQKeyEvent::key()const

Returns the code of the key that was pressed or released.

The header file qnamespace.h lists the possible keyboard codes. These codes are independent of the underlying window system.

Key code 0 means that the event is not a result of a known key (e.g. it may be the result of a compose sequence or keyboard macro).

ButtonStateQKeyEvent::state()const

Returns the keyboard modifier flags that existed immediately before the event occurred.

The returned value is ShiftButton, ControlButton and AltButton OR'ed together.

See also: stateAfter().

ButtonStateQKeyEvent::stateAfter()const

Returns the keyboard modifier flags that existed immediately after the event occurred.

See also: state().

QStringQKeyEvent::text()const

Returns the Unicode text which this key generated.

See also: QWidget::setKeyCompression().


Search the documentation, FAQ, qt-interest archive and more (uses www.troll.no):


This file is part of the Qt toolkit, copyright © 1995-99 Troll Tech, all rights reserved.


Copyright 1999 Troll TechTrademarks
Qt version 2.0.2