QKeySequence Class

Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QKeySequence Class Reference

The QKeySequence class encapsulates a key sequence as used by accelerators. More...

`#include <qkeysequence.h>`

Inherits Qt.

List of all member functions.

## Public Members

- QKeySequence ()
- QKeySequence ( const QString & key )
- QKeySequence ( int key )
- operator QString () const
- operator int () const
- QKeySequence ( const QKeySequence & keysequence )
- QKeySequence & operator= ( const QKeySequence & keysequence )
- ~QKeySequence ()
- bool operator== ( const QKeySequence & keysequence ) const
- bool operator!= ( const QKeySequence & keysequence ) const

## Related Functions

- QDataStream & operator<< ( QDataStream & s, const QKeySequence & keysequence )
- QDataStream & operator>> ( QDataStream & s, QKeySequence & keysequence )

## Detailed Description

The QKeySequence class encapsulates a key sequence as used by accelerators.

A key sequence consists of a keyboard code, optionally combined with modifiers, e.g. SHIFT, CTRL, ALT or UNICODE_ACCEL. For example, `CTRL + Key_P` might be a sequence used as a shortcut for printing a document. The key codes are listed in qnamespace.h. As an alternative, use UNICODE_ACCEL with the unicode code point of the character. For example, `UNICODE_ACCEL + 'A'` gives the same key sequence as Key_A.

Key sequences can be constructed either from an integer key code, or from a human readable translatable string. A key sequence can be cast to a QString to obtain a human readable translated version of the sequence. Translations are done in the "QAccel" scope.

See also QAccel and Miscellaneous Classes.

## Member Function Documentation

### QKeySequence::QKeySequence ()

Constructs an empty key sequence.

### QKeySequence::QKeySequence ( const QString & key )

Creates a key sequence from the string key. For example "Ctrl+O" gives CTRL+UNICODE_ACCEL+'O'. The strings "Ctrl", "Shift" and "Alt" are recognized, as well as their translated equivalents in the "QAccel" scope (using QObject::tr()).

This contructor is typically used with tr(), so that accelerator keys can be replaced in translations:

        QPopupMenu *file = new QPopupMenu( this );
        file->insertItem( tr("&Open..."), this, SLOT(open()),
                          QKeySequence( tr("Ctrl+O", "File|Open") ) );

Note the `"File|Open"` translator comment. It is by no means necessary, but it provides some context for the human translator.

### QKeySequence::QKeySequence ( int key )

Constructs a key sequence from the keycode key.

The key codes are listed in qnamespace.h and can be combined with modifiers, e.g. with SHIFT, CTRL, ALT or UNICODE_ACCEL.

### QKeySequence::QKeySequence ( const QKeySequence & keysequence )

Copy constructor. Makes a copy of keysequence.

### QKeySequence::~QKeySequence ()

Destroys the key sequence.

### QKeySequence::operator QString () const

Creates an accelerator string for the keysequence. For instance CTRL+Key_O gives "Ctrl+O". The strings, "Ctrl", "Shift", etc. are translated (using QObject::tr()) in the "QAccel" scope.

### QKeySequence::operator int () const

For backward compatibility: returns the keycode as integer.

If QKeySequence ever supports more than one keycode, this function will return the first one.

### bool QKeySequence::operator!= ( const QKeySequence & keysequence ) const

Returns TRUE if keysequence is not equal to this keysequence; otherwise returns FALSE.

### QKeySequence & QKeySequence::operator= ( const QKeySequence & keysequence )

Assignment operator. Assigns keysequence to this object.

### bool QKeySequence::operator== ( const QKeySequence & keysequence ) const

Returns TRUE if keysequence is equal to this keysequence; otherwise returns FALSE.

## Related Functions

### QDataStream & operator<< ( QDataStream & s, const QKeySequence & keysequence )

Writes the key sequence keysequence to the stream s.

Format of the QDataStream operators

### QDataStream & operator>> ( QDataStream & s, QKeySequence & keysequence )

Reads a key sequence from the stream s into the keysequence keysequence.

This file is part of the Qt toolkit, copyright © 1995-2001 Trolltech, all rights reserved.