CopperSpice API  1.9.1
QKeyEvent Class Reference

The QKeyEvent class describes a key event. More...

Inheritance diagram for QKeyEvent:
QInputEvent QEvent

Public Methods

 QKeyEvent (Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text=QString (), bool autorep=false, ushort count=1)
 
 QKeyEvent (Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text=QString (), bool autorep=false, ushort count=1)
 
int count () const
 
bool isAutoRepeat () const
 
int key () const
 
bool matches (QKeySequence::StandardKey key) const
 
Qt::KeyboardModifiers modifiers () const
 
quint32 nativeModifiers () const
 
quint32 nativeScanCode () const
 
quint32 nativeVirtualKey () const
 
QString text () const
 
- Public Methods inherited from QInputEvent
Qt::KeyboardModifiers modifiers () const
 
void setModifiers (Qt::KeyboardModifiers modifiers)
 
void setTimestamp (ulong timestamp)
 
ulong timestamp () const
 
- Public Methods inherited from QEvent
 QEvent (const QEvent &other)
 
 QEvent (Type type)
 
virtual ~QEvent ()
 
void accept ()
 
void ignore ()
 
bool isAccepted () const
 
QEvent & operator= (const QEvent &other)
 
void setAccepted (bool accepted)
 
bool spontaneous () const
 
Type type () const
 

Additional Inherited Members

- Public Types inherited from QEvent
enum  Type
 
- Static Public Methods inherited from QEvent
static int registerEventType (int hint=-1)
 

Detailed Description

The QKeyEvent class describes a key event. Key events are sent to the widget with keyboard input focus when keys are pressed or released.

A key event contains a special accept flag that indicates whether the receiver will handle the key event. You should call ignore() if the key press or release event is not handled by your widget. A key event is propagated up the parent widget chain until a widget accepts it with accept() or an event filter consumes it. Key events for multimedia keys are ignored by default. You should call accept() if your widget handles those events.

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

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

See also
QFocusEvent, QWidget::grabKeyboard()

Constructor & Destructor Documentation

QKeyEvent::QKeyEvent ( Type  type,
int  key,
Qt::KeyboardModifiers  modifiers,
const QString text = QString(),
bool  autorep = false,
ushort  count = 1 
)

Constructs a key event object. The type parameter must be QEvent::KeyPress, QEvent::KeyRelease, or QEvent::ShortcutOverride.

Int key is the code for the Qt::Key that the event loop should listen for. If key is 0, the event is not a result of a known key; for example, it may be the result of a compose sequence or keyboard macro. The modifiers holds the keyboard modifiers, and the given text is the Unicode text that the key generated. If autorep is true, isAutoRepeat() will be true. The count is the number of keys involved in the event.

QKeyEvent::QKeyEvent ( Type  type,
int  key,
Qt::KeyboardModifiers  modifiers,
quint32  nativeScanCode,
quint32  nativeVirtualKey,
quint32  nativeModifiers,
const QString text = QString(),
bool  autorep = false,
ushort  count = 1 
)

Constructs a key event object. The type parameter must be QEvent::KeyPress, QEvent::KeyRelease, or QEvent::ShortcutOverride.

Int key is the code for the Qt::Key the event loop should listen for. If key is 0, the event is not a result of a known key. For example, it may be the result of a compose sequence or keyboard macro. The modifiers hold the keyboard modifiers and the given text is the Unicode text that the key generated. If autorep is true isAutoRepeat() will be true. The count is the number of keys involved in the event.

In addition to the normal key event data, also contains nativeScanCode, nativeVirtualKey and nativeModifiers. This extra data is used by the shortcut system, to determine which shortcuts to trigger.

Method Documentation

int QKeyEvent::count ( ) const
inline

Returns the number of keys involved in this event. If text() is not empty, this is simply the length of the string.

See also
Qt::WidgetAttribute
bool QKeyEvent::isAutoRepeat ( ) const
inline

Returns true if this event comes from an auto-repeating key. Returns false if it comes from an initial key press.

If the event is a multiple-key compressed event that is partly due to auto-repeat, this function could return either true or false indeterminately.

int QKeyEvent::key ( ) const
inline

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

Refer to Qt::Key for the list of keyboard codes. These codes are independent of the underlying window system. Note that this function does not distinguish between capital and non-capital letters, use the text() function (returning the Unicode text the key generated) for this purpose.

A value of either 0 or Qt::Key_unknown means the event is not the result of a known key; for example, it may be the result of a compose sequence, a keyboard macro, or due to key event compression.

See also
Qt::WidgetAttribute
bool QKeyEvent::matches ( QKeySequence::StandardKey  key) const

Returns true if the event matches the given standard key, otherwise returns false.

Qt::KeyboardModifiers QKeyEvent::modifiers ( ) const

Returns the keyboard modifier flags that existed immediately after the event occurred. This method may not always return the exact flags which were in effect when the key was pressed. For example, if the user presses both Shift keys simultaneously and releases one of them.

See also
QApplication::keyboardModifiers()
quint32 QKeyEvent::nativeModifiers ( ) const
inline

Returns the native modifiers of a key event. If the key event does not contain this data 0 is returned. The native modifiers may be 0 even if the key event contains extended information.

quint32 QKeyEvent::nativeScanCode ( ) const
inline

Returns the native scan code of the key event. If the key event does not contain this data 0 is returned. The native scan code may be 0 even if the key event contains extended information.

On Mac OS/X, this method is not useful because there is no way to get the scan code from Carbon or Cocoa. This method always returns 1 or 0.

quint32 QKeyEvent::nativeVirtualKey ( ) const
inline

Returns the native virtual key, or key sym of the key event. If the key event does not contain this data 0 is returned.

The native virtual key may be 0 even if the key event contains extended information.

QString QKeyEvent::text ( ) const
inline

Returns the Unicode text that this key generated. The text returned can be an empty string in cases where modifier keys, such as Shift, Control, Alt, and Meta, are being pressed or released. In such cases key() will contain a valid value.

See also
Qt::WidgetAttribute