---
name: "qkeysequence"
section: "3qt"
platform: "linux"
package: "qt3-doc"
version: "3:3.3.8b-7"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/qkeysequence"
---

# qkeysequence(3qt)

Encapsulates a key sequence as used by accelerators

## NAME

QKeySequence - Encapsulates a key sequence as used by accelerators

## SYNOPSIS

`#include <qkeysequence.h>`

Inherits Qt.

### Public Members

**QKeySequence ()**\
 **QKeySequence ( const QString & key )**\
 **QKeySequence ( int key )**\
 **QKeySequence ( int k1, int k2, int k3 = 0, int k4 = 0 )**\
 **QKeySequence ( const QKeySequence & keysequence )**\
 **~QKeySequence ()**\
 **uint count () const**\
 **bool isEmpty () const**\
 **Qt::SequenceMatch matches ( const QKeySequence & seq ) const**\
 **operator QString () const**\
 **operator int () const  *(obsolete)***\
 **int operator\[\] ( uint index ) const**\
 **QKeySequence & operator= ( const QKeySequence & keysequence )**\
 **bool operator== ( const QKeySequence & keysequence ) const**\
 **bool operator!= ( const QKeySequence & keysequence ) const**\

## RELATED FUNCTION DOCUMENTATION

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

## DESCRIPTION

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

A key sequence consists of up to four keyboard codes, each optionally combined with modifiers, e.g. SHIFT, CTRL, ALT, META, 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 such as" Ctrl+X,Alt+Space". 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" context.

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", "Alt" and "Meta" are recognized, as well as their translated equivalents in the "QAccel" context (using QObject::tr()).

Multiple key codes (up to four) may be entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".

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 that has a single *key*.

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

## QKeySequence::QKeySequence ( int k1, int k2, int k3 = 0, int k4 = 0 )

Constructs a key sequence with up to 4 keys *k1*, *k2*, *k3* and *k4*.

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

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

Copy constructor. Makes a copy of *keysequence*.

## QKeySequence::~QKeySequence ()

Destroys the key sequence.

## uint QKeySequence::count () const

Returns the number of keys in the key sequence. The maximum is 4.

## bool QKeySequence::isEmpty () const

Returns TRUE if the key sequence is empty; otherwise returns FALSE.

## Qt::SequenceMatch QKeySequence::matches ( const QKeySequence & seq ) const

Matches the sequence with *seq*. Returns Qt::Identical if successful, Qt::PartialMatch for matching but incomplete *seq*, and Qt::NoMatch if the sequences have nothing in common. Returns Qt::NoMatch if *seq* is shorter.

## QKeySequence::operator QString () const

Creates an accelerator string for the key sequence. For instance CTRL+Key\_O gives "Ctrl+O". If the key sequence has multiple key codes they are returned comma-separated, e.g." Alt+X, Ctrl+Y, Z". The strings, "Ctrl", "Shift", etc. are translated (using QObject::tr()) in the "QAccel" scope. If the key sequence has no keys, QString::null is returned.

On Mac OS X, the string returned resembles the sequence that is shown in the menubar.

## QKeySequence::operator int () const

**This function is obsolete.** It is provided to keep old source working. We strongly advise against using it in new code.

For backward compatibility: returns the first keycode as integer. If the key sequence is empty, 0 is returned.

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

Returns TRUE if *keysequence* is not equal to this key sequence; 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 key sequence; otherwise returns FALSE.

## int QKeySequence::operator\[\] ( uint index ) const

Returns a reference to the element at position *index* in the key sequence. This can only be used to read an element.

## RELATED FUNCTION DOCUMENTATION

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

Writes the key sequence *keysequence* to the stream *s*.

See also Format of the QDataStream operators.

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

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

See also Format of the QDataStream operators.

## SEE ALSO

**http://doc.trolltech.com/qkeysequence.html** **http://www.trolltech.com/faq/tech.html**

## COPYRIGHT

Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com.  See the license file included in the distribution for a complete license statement.

## AUTHOR

Generated automatically from the source code.

## BUGS

If you find a bug in Qt, please report it as described in **http://doc.trolltech.com/bughowto.html**. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to **qt-bugs@trolltech.com**. Please include the name of the manual page (qkeysequence.3qt) and the Qt version (3.3.8).
