Sur cette page

QKeySequence Class

La classe QKeySequence encapsule une séquence de touches telle qu'elle est utilisée dans les raccourcis clavier. En savoir plus...

En-tête : #include <QKeySequence>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Types publics

enum SequenceFormat { NativeText, PortableText }
enum SequenceMatch { NoMatch, PartialMatch, ExactMatch }
enum StandardKey { AddTab, Back, Backspace, Bold, Close, …, Cancel }

Fonctions publiques

QKeySequence()
QKeySequence(QKeySequence::StandardKey key)
QKeySequence(const QString &key, QKeySequence::SequenceFormat format = NativeText)
QKeySequence(QKeyCombination k1, QKeyCombination k2 = QKeyCombination::fromCombined(0), QKeyCombination k3 = QKeyCombination::fromCombined(0), QKeyCombination k4 = QKeyCombination::fromCombined(0))
QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0)
QKeySequence(const QKeySequence &keysequence)
~QKeySequence()
int count() const
bool isEmpty() const
QKeySequence::SequenceMatch matches(const QKeySequence &seq) const
void swap(QKeySequence &other)
QString toString(QKeySequence::SequenceFormat format = PortableText) const
operator QVariant() const
bool operator!=(const QKeySequence &other) const
bool operator<(const QKeySequence &other) const
bool operator<=(const QKeySequence &other) const
QKeySequence &operator=(QKeySequence &&other)
QKeySequence &operator=(const QKeySequence &other)
bool operator==(const QKeySequence &other) const
bool operator>(const QKeySequence &other) const
bool operator>=(const QKeySequence &other) const
QKeyCombination operator[](uint index) const

Membres publics statiques

QKeySequence fromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
QList<QKeySequence> listFromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
QString listToString(const QList<QKeySequence> &list, QKeySequence::SequenceFormat format = PortableText)
QKeySequence mnemonic(const QString &text)
size_t qHash(const QKeySequence &key, size_t seed = 0)
void qt_set_sequence_auto_mnemonic(bool b)
QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)
QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)

Description détaillée

Dans sa forme la plus courante, une séquence de touches décrit une combinaison de touches qui doivent être utilisées ensemble pour effectuer une action. Les séquences de touches sont utilisées avec les objets ` QAction ` pour spécifier quels raccourcis clavier peuvent être utilisés pour déclencher des actions.

Les séquences de touches peuvent être créées de trois manières différentes pour être utilisées comme raccourcis clavier :

  • Pour les raccourcis standard, un objet ` standard key ` peut être utilisé pour récupérer la séquence de touches spécifique à la plateforme associée à chaque raccourci.
  • Pour les raccourcis personnalisés, des chaînes lisibles par l’utilisateur, telles que « Ctrl+X », peuvent être utilisées ; celles-ci peuvent ensuite être traduites en raccourcis appropriés pour les utilisateurs de différentes langues. Les traductions sont effectuées dans le contexte «QShortcut ».
  • Pour les raccourcis codés en dur, des codes de touche entiers peuvent être spécifiés à l’aide d’une combinaison de valeurs définies par les valeurs d’énumération « Qt::Key » et « Qt::KeyboardModifier ». Chaque code de touche se compose d’une seule valeur d’ Qt::Key et de zéro ou plusieurs modificateurs, tels que « Qt::ShiftModifier », « Qt::ControlModifier », « Qt::AltModifier » et « Qt::MetaModifier ».

Par exemple, « Ctrl P » peut être une séquence utilisée comme raccourci pour imprimer un document, et peut être spécifiée de l’une des manières suivantes :

QKeySequence(QKeySequence::Print);
QKeySequence(tr("Ctrl+P"));
QKeySequence(tr("Ctrl+p"));
QKeySequence(Qt::CTRL | Qt::Key_P);
QKeySequence(Qt::CTRL + Qt::Key_P); // deprecated

Notez que, pour les lettres, la casse utilisée dans la chaîne de spécification n’a pas d’importance. Dans les exemples ci-dessus, l’utilisateur n’a pas besoin de maintenir la touche Shift enfoncée pour activer un raccourci spécifié par « Ctrl+P ». Cependant, pour d’autres touches, l’utilisation de Shift comme touche de modification supplémentaire non spécifiée peut prêter à confusion pour les utilisateurs d’une application dont les claviers ont des dispositions différentes de celles utilisées par les développeurs. Reportez-vous à la section « Keyboard Layout Issues » ci-dessous pour plus de détails.

Il est préférable d’utiliser des raccourcis standard dans la mesure du possible. Lors de la création de séquences de touches pour des raccourcis non standard, vous devez privilégier l’utilisation de chaînes de caractères lisibles par l’utilisateur plutôt que de valeurs entières codées en dur.

L'objet `QKeySequence` peut être sérialisé en chaînes lisibles par l'utilisateur à l'aide de la fonction ` toString()`.

Une autre façon de spécifier des codes de touches codés en dur consiste à utiliser le point de code Unicode du caractère ; par exemple, « A » donne la même séquence de touches que Qt::Key_A.

Remarque : sur les plateformes Apple, les références à « Ctrl », Qt::CTRL, Qt::Key_Control et Qt::ControlModifier correspondent aux touches Command du clavier Macintosh, tandis que les références à « Meta », Qt::META, Qt::Key_Meta et Qt::MetaModifier correspondent aux touches Control. En pratique, les développeurs peuvent utiliser les mêmes descriptions de raccourcis sur toutes les plateformes, et leurs applications fonctionneront automatiquement comme prévu sur les plateformes Apple.

Raccourcis standard

QKeySequence définit de nombreuses séquences de touches ( standard keyboard shortcuts ) afin de réduire l’effort nécessaire à la configuration des actions dans une application type. Le tableau ci-dessous présente certaines séquences de touches courantes souvent utilisées pour ces raccourcis standard par les applications sur quatre plateformes largement répandues. Notez que sur les plateformes Apple, la valeur « Ctrl » correspond aux touches « Command » du clavier Macintosh, et la valeur « Meta » correspond aux touches « Control ».

StandardKeyWindowsPlateformes AppleKDE PlasmaGNOME
HelpContentsF1Ctrl+?F1F1
WhatsThisMaj+F1Maj+F1Maj+F1Maj+F1
OuvrirCtrl+OCtrl+OCtrl+OCtrl+O
FermerCtrl+F4, Ctrl+WCtrl+W, Ctrl+F4Ctrl+WCtrl+W
EnregistrerCtrl+SCtrl+SCtrl+SCtrl+S
QuitterCtrl+QCtrl+QCtrl+Q
SaveAsCtrl+Maj+SCtrl+Maj+SCtrl+Maj+SCtrl+Maj+S
NouveauCtrl+NCtrl+NCtrl+NCtrl+N
SupprSupprSupprimer en avant, Meta+DSuppr, Ctrl+DSuppr, Ctrl+D
CouperCtrl+X, Maj+SupprCtrl+X, Méta+KCtrl+X, F20, Maj+SupprCtrl+X, F20, Maj+Suppr
CopierCtrl+C, Ctrl+InsCtrl+CCtrl+C, F16, Ctrl+InsCtrl+C, F16, Ctrl+Ins
CollerCtrl+V, Maj+InsCtrl+V, Meta+YCtrl+V, F18, Maj+InsCtrl+V, F18, Maj+Ins
PréférencesCtrl+,Ctrl+Maj+,
AnnulerCtrl+Z, Alt+Retour arrièreCtrl+ZCtrl+Z, F14Ctrl+Z, F14
RétablirCtrl+Y, Maj+Ctrl+Z, Alt+Maj+Retour arrièreCtrl+Maj+ZCtrl+Maj+ZCtrl+Maj+Z
RetourAlt+Flèche gauche, Retour arrièreCtrl+[Alt+Flèche gaucheAlt+Flèche gauche
SuivantAlt+Droite, Maj+Retour arrièreCtrl+]Alt+DroiteAlt+Droite
ActualiserF5F5F5Ctrl+R, F5
ZoomInCtrl+PlusCtrl+PlusCtrl+PlusCtrl+Plus
ZoomOutCtrl+MoinsCtrl+MoinsCtrl+MoinsCtrl+Moins
FullScreenF11, Alt+EntréeCtrl+Meta+FF11, Ctrl+Maj+FCtrl+F11
ImprimerCtrl+PCtrl+PCtrl+PCtrl+P
AddTabCtrl+TCtrl+TCtrl+Maj+N, Ctrl+TCtrl+T
NextChildCtrl+Tab, Suivant, Ctrl+F6Ctrl+}, Suivant, Ctrl+TabCtrl+Tab, Suivant, Ctrl+VirguleCtrl+Tab, Suivant
PreviousChildCtrl+Maj+Tab, Précédent, Ctrl+Maj+F6Ctrl+{, Précédent, Ctrl+Maj+TabCtrl+Maj+Tab, Précédent, Ctrl+PointCtrl+Maj+Tab, Précédent
RechercherCtrl+FCtrl+FCtrl+FCtrl+F
FindNextF3, Ctrl+GCtrl+GF3Ctrl+G, F3
FindPreviousMaj+F3, Ctrl+Maj+GCtrl+Maj+GMaj+F3Ctrl+Maj+G, Maj+F3
RemplacerCtrl+H(aucun)Ctrl+RCtrl+H
SelectAllCtrl+ACtrl+ACtrl+ACtrl+A
DésélectionnerCtrl+Maj+ACtrl+Maj+A
GrasCtrl+BCtrl+BCtrl+BCtrl+B
ItaliqueCtrl+ICtrl+ICtrl+ICtrl+I
SoulignéCtrl+UCtrl+UCtrl+UCtrl+U
MoveToNextCharDroiteDroite, Meta+FDroiteÀ droite
MoveToPreviousCharGaucheGauche, Meta+BGaucheGauche
MoveToNextWordCtrl+DroiteAlt+DroiteCtrl+DroiteCtrl + Droite
MoveToPreviousWordCtrl+GaucheAlt+GaucheCtrl+GaucheCtrl+Gauche
MoveToNextLineBasBas, Méta+NBasBas
MoveToPreviousLineHautHaut, Meta+PHautHaut
MoveToNextPagePage suivantePage suivante, Alt+Page suivante, Méta+Bas, Méta+Page suivante, Méta+VPage suivantePage suivante
MoveToPreviousPagePage précédentePage précédente, Alt+Page précédente, Méta+Page précédente, Méta+Page précédentePage précédentePage précédente
MoveToStartOfLineDébutCtrl+Flèche gauche, Maj+Flèche gaucheDébutDébut
MoveToEndOfLineFinCtrl+Flèche droite, Méta+Flèche droiteFin, Ctrl+EFin, Ctrl+E
MoveToStartOfBlock(aucun)Alt+Haut, Méta+A(aucun)(aucun)
MoveToEndOfBlock(aucun)Alt+Bas, Méta+E(aucun)(aucun)
MoveToStartOfDocumentCtrl+DébutCtrl+Flèche vers le haut, DébutCtrl+DébutCtrl+Début
MoveToEndOfDocumentCtrl+FinCtrl+Flèche vers le bas, FinCtrl+FinCtrl+Fin
SelectNextCharMaj+Flèche droiteMaj+Flèche droiteMaj+Flèche droiteMaj+Droite
SelectPreviousCharMaj+GaucheMaj + GaucheMaj + GaucheMaj + Gauche
SelectNextWordCtrl+Maj+DroiteAlt+Maj+DroiteCtrl+Maj+DroiteCtrl+Maj+Droite
SelectPreviousWordCtrl+Maj+GaucheAlt+Maj+GaucheCtrl+Maj+GaucheCtrl+Maj+Gauche
SelectNextLineMaj+BasMaj+BasMaj+BasMaj + Flèche vers le bas
SelectPreviousLineMaj+HautMaj+Flèche vers le hautMaj+Flèche vers le hautMaj+Flèche vers le haut
SelectNextPageMaj + Page suivanteMaj+Page suivanteMaj+Page suivanteMaj+Page suivante
SelectPreviousPageMaj+Page précédenteMaj+Page précédenteMaj+Page précédenteMaj+Page précédente
SelectStartOfLineMaj+Déf.Ctrl+Maj+GaucheMaj+Déf.Maj+Début
SelectEndOfLineMaj+FinCtrl+Maj+DroiteMaj+FinMaj+Fin
SelectStartOfBlock(aucun)Alt+Maj+Haut, Méta+Maj+A(aucun)(aucun)
SelectEndOfBlock(aucun)Alt+Maj+Flèche vers le bas, Méta+Maj+E(aucun)(aucun)
SelectStartOfDocumentCtrl+Maj+DébutCtrl+Maj+Flèche vers le haut, Maj+DébutCtrl+Maj+DébutCtrl+Maj+Début
SelectEndOfDocumentCtrl+Maj+FinCtrl+Maj+Flèche vers le bas, Maj+FinCtrl+Maj+FinCtrl+Maj+Fin
DeleteStartOfWordCtrl+Retour arrièreAlt+Retour arrièreCtrl+Retour arrièreCtrl+Retour arrière
DeleteEndOfWordCtrl+Suppr(aucun)Ctrl+SupprCtrl+Suppr
DeleteEndOfLine(aucun)(aucun)Ctrl+KCtrl+K
DeleteCompleteLine(aucun)(aucun)Ctrl+UCtrl+U
InsertParagraphSeparatorEntréeEntréeEntréeEntrée
InsertLineSeparatorMaj+EntréeMétas+Entrée, Métas+OMaj + EntréeMaj + Entrée
Retour arrière(aucun)Suppr, Meta+H(aucun)(aucun)
AnnulerÉchapÉchap, Ctrl+.ÉchapÉchap

Notez que, comme les combinaisons de touches utilisées pour les raccourcis standard varient d'une plateforme à l'autre, vous devez tout de même tester vos raccourcis sur chaque plateforme pour vous assurer de ne pas attribuer involontairement la même combinaison de touches à plusieurs actions.

Problèmes liés à la disposition du clavier

De nombreuses spécifications de combinaisons de touches sont choisies par les développeurs en fonction de la disposition de certains types de claviers, plutôt que de choisir des touches correspondant à la première lettre du nom d’une action, comme « Ctrl S » (« Ctrl+S ») ou « Ctrl C » (« Ctrl+C »). De plus, comme certains symboles ne peuvent être saisis qu’à l’aide de touches de modification sur certaines dispositions de clavier, les combinaisons de touches destinées à une disposition particulière peuvent correspondre à une touche différente, ne correspondre à aucune touche, ou nécessiter l’utilisation d’une touche de modification supplémentaire sur d’autres dispositions.

Par exemple, les raccourcis « Ctrl plus » et « Ctrl minus » sont souvent utilisés pour les opérations de zoom dans les applications graphiques, et peuvent être spécifiés respectivement comme « Ctrl++ » et « Ctrl+- ». Cependant, la manière dont ces raccourcis sont spécifiés et interprétés dépend de la disposition du clavier. Les utilisateurs de claviers norvégiens remarqueront que les touches « + » et « - » ne sont pas adjacentes sur le clavier, mais pourront tout de même activer ces deux raccourcis sans avoir à appuyer sur la touche « Shift ». En revanche, les utilisateurs de claviers britanniques devront maintenir enfoncée la touche « Shift » pour saisir le symbole « + », ce qui rendra le raccourci équivalent à « Ctrl+Shift+= ».

Bien que certains développeurs puissent être tentés de spécifier en détail tous les modificateurs qu’ils utilisent sur leur clavier pour activer un raccourci, cela entraînera également un comportement inattendu pour les utilisateurs disposant de dispositions de clavier différentes.

Par exemple, un développeur utilisant un clavier britannique pourrait décider de spécifier « Ctrl+Maj+= » comme séquence de touches afin de créer un raccourci qui, par coïncidence, se comporte de la même manière que Ctrl plus. Cependant, la touche « = » doit être accessible via la touche « Shift » sur un clavier norvégien, ce qui rend le raccourci requis équivalent à « Ctrl Shift Shift = » (une combinaison de touches impossible).

Par conséquent, tant les chaînes lisibles par l’utilisateur que les codes de touches codés en dur peuvent poser problème lors de la définition d’une séquence de touches destinée à être utilisée sur diverses dispositions de clavier. Seule l’utilisation de standard shortcuts garantit que l’utilisateur pourra utiliser les raccourcis prévus par le développeur.

Malgré cela, nous pouvons résoudre ce problème en veillant à utiliser des chaînes lisibles par l’utilisateur, ce qui permet de traduire les séquences de touches pour les utilisateurs de différentes langues. Cette approche fonctionnera pour les utilisateurs dont les claviers présentent la disposition la plus courante pour la langue qu’ils utilisent.

Séquences de touches de type GNU Emacs

Des séquences de touches similaires à celles utilisées dans GNU Emacs, autorisant jusqu’à quatre codes de touche, peuvent être créées à l’aide du constructeur à arguments multiples, ou en transmettant une chaîne lisible par l’utilisateur contenant des séquences de touches séparées par des virgules.

Par exemple, la séquence de touches « Ctrl X » suivie de « Ctrl C » peut être spécifiée de l’une des deux manières suivantes :

QKeySequence(tr("Ctrl+X, Ctrl+C"));
QKeySequence(Qt::CTRL | Qt::Key_X, Qt::CTRL | Qt::Key_C);
QKeySequence(Qt::CTRL + Qt::Key_X, Qt::CTRL + Qt::Key_C); // deprecated

Avertissement : une instance de ` QApplication ` doit avoir été construite avant la création d’un `QKeySequence` ; sinon, votre application risque de planter.

Voir également QShortcut.

Documentation sur les types de membres

enum QKeySequence::SequenceFormat

ConstanteValeurDescription
QKeySequence::NativeText0La séquence de touches sous forme de chaîne spécifique à la plate-forme. Cela signifie qu’elle s’affichera traduite et que, sur les plates-formes Apple, elle ressemblera à une séquence de touches de la barre de menus. Il est préférable d’utiliser cette énumération lorsque vous souhaitez afficher la chaîne à l’utilisateur.
QKeySequence::PortableText1La séquence de touches est fournie dans un format « portable », adapté à la lecture et à l'écriture dans un fichier. Dans de nombreux cas, elle ressemblera au texte natif sous Windows et X11.

enum QKeySequence::SequenceMatch

ConstanteValeurDescription
QKeySequence::NoMatch0Les séquences de touches sont différentes ; elles ne correspondent même pas partiellement.
QKeySequence::PartialMatch1Les séquences de touches correspondent partiellement, mais ne sont pas identiques.
QKeySequence::ExactMatch2Les séquences de touches sont identiques.

enum QKeySequence::StandardKey

Cette énumération représente les raccourcis clavier standard. Elle permet d'attribuer des raccourcis clavier spécifiques à la plateforme à un objet ` QAction`.

Notez que les raccourcis clavier dépendent de la plateforme. Les raccourcis actuellement définis peuvent être consultés à l'aide de la méthode keyBindings().

ConstanteValeurDescription
QKeySequence::AddTab19Ajouter un nouvel onglet.
QKeySequence::Back13Revenir en arrière.
QKeySequence::Backspace69Supprimer le caractère précédent.
QKeySequence::Bold27Mettre le texte en gras.
QKeySequence::Close4Fermer le document/l'onglet.
QKeySequence::Copy9Copier.
QKeySequence::Cut8Couper.
QKeySequence::Delete7Supprimer.
QKeySequence::DeleteEndOfLine60Supprimer la fin de la ligne.
QKeySequence::DeleteEndOfWord59Supprimer le mot situé à partir de la position du curseur.
QKeySequence::DeleteStartOfWord58Supprimer le début d'un mot jusqu'au curseur.
QKeySequence::DeleteCompleteLine68Supprimer la ligne entière.
QKeySequence::Find22Rechercher dans le document.
QKeySequence::FindNext23Rechercher le résultat suivant.
QKeySequence::FindPrevious24Rechercher le résultat précédent.
QKeySequence::Forward14Aller à la ligne suivante.
QKeySequence::HelpContents1Ouvrir le sommaire de l'aide.
QKeySequence::InsertLineSeparator62Insérer une nouvelle ligne.
QKeySequence::InsertParagraphSeparator61Insérer un nouveau paragraphe.
QKeySequence::Italic28Mettre le texte en italique.
QKeySequence::MoveToEndOfBlock41Déplacer le curseur à la fin du bloc. Ce raccourci n'est utilisé que sur les plateformes Apple.
QKeySequence::MoveToEndOfDocument43Déplacer le curseur à la fin du document.
QKeySequence::MoveToEndOfLine39Déplacer le curseur à la fin de la ligne.
QKeySequence::MoveToNextChar30Déplacer le curseur sur le caractère suivant.
QKeySequence::MoveToNextLine34Déplacer le curseur à la ligne suivante.
QKeySequence::MoveToNextPage36Déplacer le curseur à la page suivante.
QKeySequence::MoveToNextWord32Déplacer le curseur sur le mot suivant.
QKeySequence::MoveToPreviousChar31Déplacer le curseur sur le caractère précédent.
QKeySequence::MoveToPreviousLine35Déplacer le curseur sur la ligne précédente.
QKeySequence::MoveToPreviousPage37Déplacer le curseur vers la page précédente.
QKeySequence::MoveToPreviousWord33Déplacer le curseur sur le mot précédent.
QKeySequence::MoveToStartOfBlock40Déplacer le curseur au début d'un bloc. Ce raccourci n'est utilisé que sur les plateformes Apple.
QKeySequence::MoveToStartOfDocument42Déplacer le curseur au début du document.
QKeySequence::MoveToStartOfLine38Déplacer le curseur au début de la ligne.
QKeySequence::New6Créer un nouveau document.
QKeySequence::NextChild20Passer à l'onglet suivant ou à la fenêtre enfant suivante.
QKeySequence::Open3Ouvrir un document.
QKeySequence::Paste10Coller.
QKeySequence::Preferences64Ouvrir la boîte de dialogue des préférences.
QKeySequence::PreviousChild21Passer à l'onglet précédent ou à la fenêtre enfant.
QKeySequence::Print18Imprimer le document.
QKeySequence::Quit65Quitter l'application.
QKeySequence::Redo12Rétablir.
QKeySequence::Refresh15Actualiser ou recharger le document en cours.
QKeySequence::Replace25Rechercher et remplacer.
QKeySequence::SaveAs63Enregistrer le document après avoir demandé à l'utilisateur de saisir un nom de fichier.
QKeySequence::Save5Enregistrer le document.
QKeySequence::SelectAll26Sélectionner tout le texte.
QKeySequence::Deselect67Désélectionner le texte. Depuis la version 5.1
QKeySequence::SelectEndOfBlock55Étendre la sélection jusqu’à la fin d’un bloc de texte. Ce raccourci n’est utilisé que sur les plateformes Apple.
QKeySequence::SelectEndOfDocument57Étendre la sélection jusqu’à la fin du document.
QKeySequence::SelectEndOfLine53Étendre la sélection jusqu’à la fin de la ligne.
QKeySequence::SelectNextChar44Étendre la sélection jusqu’au caractère suivant.
QKeySequence::SelectNextLine48Étendre la sélection à la ligne suivante.
QKeySequence::SelectNextPage50Étendre la sélection à la page suivante.
QKeySequence::SelectNextWord46Étendre la sélection au mot suivant.
QKeySequence::SelectPreviousChar45Étendre la sélection jusqu'au caractère précédent.
QKeySequence::SelectPreviousLine49Étendre la sélection à la ligne précédente.
QKeySequence::SelectPreviousPage51Étendre la sélection à la page précédente.
QKeySequence::SelectPreviousWord47Étendre la sélection au mot précédent.
QKeySequence::SelectStartOfBlock54Étendre la sélection jusqu'au début d'un bloc de texte. Ce raccourci n'est utilisé que sur les plateformes Apple.
QKeySequence::SelectStartOfDocument56Étendre la sélection jusqu'au début du document.
QKeySequence::SelectStartOfLine52Étendre la sélection jusqu'au début de la ligne.
QKeySequence::Underline29Souligner le texte.
QKeySequence::Undo11Annuler.
QKeySequence::UnknownKey0Touche non attribuée.
QKeySequence::WhatsThis2Activer « Qu'est-ce que c'est ? ».
QKeySequence::ZoomIn16Zoomer.
QKeySequence::ZoomOut17Dézoomer.
QKeySequence::FullScreen66Basculer entre le mode plein écran et le mode normal.
QKeySequence::Cancel70Annuler l'opération en cours.

Documentation des fonctions membres

QKeySequence::QKeySequence()

Crée une séquence de clés vide.

QKeySequence::QKeySequence(QKeySequence::StandardKey key)

Crée un objet `QKeySequence` pour l'key` donné. Le résultat dépendra de la plateforme actuellement utilisée.

L’objet obtenu sera basé sur le premier élément de la liste des raccourcis clavier de l’ key.

QKeySequence::QKeySequence(const QString &key, QKeySequence::SequenceFormat format = NativeText)

Crée une séquence de touches à partir de la chaîne « key », en se basant sur format.

Par exemple, « Ctrl+O » donne CTRL+'O'. Les chaînes « Ctrl », « Shift », « Alt » et « Meta » sont reconnues, ainsi que leurs équivalents traduits dans le contexte «QShortcut » (à l'aide de QObject::tr()).

Il est possible de saisir jusqu’à quatre codes de touches en les séparant par des virgules, par exemple « Alt+X,Ctrl+S,Q ».

Ce constructeur est généralement utilisé avec ` tr()`, afin que les raccourcis clavier puissent être remplacés dans les traductions :

QMenu *file = new QMenu(this);
file->addAction(tr("&Open..."), QKeySequence(tr("Ctrl+O", "File|Open")),
                this, &MainWindow::open);

Notez le commentaire du traducteur « Fichier|Ouvrir ». Il n’est en aucun cas obligatoire, mais il fournit un peu de contexte au traducteur humain.

QKeySequence::QKeySequence(QKeyCombination k1, QKeyCombination k2 = QKeyCombination::fromCombined(0), QKeyCombination k3 = QKeyCombination::fromCombined(0), QKeyCombination k4 = QKeyCombination::fromCombined(0))

Crée une séquence de clés pouvant comporter jusqu'à 4 clés : k1, k2, k3 et k4.

Voir également QKeyCombination.

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

Crée une séquence de clés comprenant jusqu'à 4 clés : k1, k2, k3 et k4.

Les codes de touches sont répertoriés sur Qt::Key et peuvent être combinés avec des modificateurs (voir Qt::KeyboardModifier) tels que Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifier ou Qt::MetaModifier.

QKeySequence::QKeySequence(const QKeySequence &keysequence)

Constructeur de copie. Crée une copie de keysequence.

[noexcept] QKeySequence::~QKeySequence()

Supprime la séquence de touches.

int QKeySequence::count() const

Renvoie le nombre de touches contenues dans la séquence de touches. La valeur maximale est 4.

[static] QKeySequence QKeySequence::fromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)

Renvoie un objet ` QKeySequence ` à partir de la chaîne ` str `, en se basant sur ` format`.

Voir aussi toString().

bool QKeySequence::isEmpty() const

Renvoie « true » si la séquence de clés est vide ; sinon, renvoie « false ».

[static] QList<QKeySequence> QKeySequence::keyBindings(QKeySequence::StandardKey key)

Renvoie une liste des raccourcis clavier associés à l'key donné. Le résultat de l'appel de cette fonction varie en fonction de la plateforme cible. Le premier élément de la liste indique le raccourci principal pour la plateforme donnée. Si le résultat contient plusieurs éléments, ceux-ci peuvent être considérés comme des raccourcis alternatifs sur la même plateforme pour l'key donné.

[static] QList<QKeySequence> QKeySequence::listFromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)

Renvoie une liste de mots-clés « QKeySequence » à partir de la chaîne « str », en se basant sur format.

Voir également fromString() et listToString().

[static] QString QKeySequence::listToString(const QList<QKeySequence> &list, QKeySequence::SequenceFormat format = PortableText)

Renvoie une représentation sous forme de chaîne de caractères de « list » en se basant sur « format ».

Voir également toString() et listFromString().

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

Recherche une correspondance entre la séquence et seq. Renvoie ExactMatch en cas de succès, PartialMatch si seq correspond partiellement, et NoMatch si les séquences n'ont aucun point commun. Renvoie NoMatch si seq est plus court.

[static] QKeySequence QKeySequence::mnemonic(const QString &text)

Renvoie la séquence de touches de raccourci correspondant au mnémonique de text, ou une séquence de touches vide si aucun mnémonique n'est trouvé.

Par exemple, mnemonic("E&xit") renvoie Qt::ALT+Qt::Key_X, mnemonic("&Quit") renvoie ALT+Key_Q et mnemonic("Quit") renvoie une QKeySequence vide.

[noexcept] void QKeySequence::swap(QKeySequence &other)

Permute cette séquence de touches avec celle de other. Cette opération est très rapide et ne rencontre jamais d'échec.

QString QKeySequence::toString(QKeySequence::SequenceFormat format = PortableText) const

Renvoie une représentation sous forme de chaîne de caractères de la séquence de touches, en fonction de format.

Par exemple, la valeur Qt::CTRL+Qt::Key_O donne « Ctrl+O ». Si la séquence de touches comporte plusieurs codes de touche, chacun est séparé par une virgule dans la chaîne renvoyée, comme « Alt+X, Ctrl+Y, Z ». Les chaînes « Ctrl », « Shift », etc. sont traduites à l’aide de la fonction QObject::tr() dans le contexte «QShortcut ».

Si la séquence de touches ne comporte aucune touche, une chaîne vide est renvoyée.

Sur les plateformes Apple, la chaîne renvoyée ressemble à la séquence affichée dans la barre de menus si ` format ` est défini sur ` QKeySequence::NativeText` ; sinon, la chaîne utilise le format « portable », adapté à l’écriture dans un fichier.

Voir également fromString().

QKeySequence::operator QVariant() const

Renvoie la séquence de clés sous la forme d'un QVariant

bool QKeySequence::operator!=(const QKeySequence &other) const

Renvoie « true » si cette séquence de clés n'est pas égale à la séquence de clés « other » ; sinon, renvoie « false ».

bool QKeySequence::operator<(const QKeySequence &other) const

Permet d'effectuer une comparaison arbitraire entre cette séquence de clés et une séquence de clé other. La seule garantie est que l'opérateur renvoie « false » si les deux séquences de clés sont égales, et « (ks1 < ks2) == !(ks2 < ks1) » si elles ne le sont pas.

Cette fonction est utile dans certaines circonstances, par exemple si vous souhaitez utiliser des objets ` QKeySequence ` comme clés dans un ` QMap`.

Voir également operator==(), operator!=(), operator>(), operator<=() et operator>=().

bool QKeySequence::operator<=(const QKeySequence &other) const

Renvoie « true » si cette séquence de clés est inférieure ou égale à la séquence de clés « other » ; sinon, renvoie « false ».

Voir également operator==(), operator!=(), operator<(), operator>() et operator>=().

[noexcept] QKeySequence &QKeySequence::operator=(QKeySequence &&other)

Cette opération attribue l'other à cette instance QKeySequence.

QKeySequence &QKeySequence::operator=(const QKeySequence &other)

Opérateur d'affectation. Attribue la séquence de touches « other » à cet objet.

bool QKeySequence::operator==(const QKeySequence &other) const

Renvoie « true » si cette séquence de clés est égale à la séquence de clés « other » ; sinon, renvoie « false ».

bool QKeySequence::operator>(const QKeySequence &other) const

Renvoie « true » si cette séquence de clés est plus grande que la séquence de clés « other » ; sinon, renvoie « false ».

Voir également operator==(), operator!=(), operator<(), operator<=() et operator>=().

bool QKeySequence::operator>=(const QKeySequence &other) const

Renvoie « true » si cette séquence de clés est supérieure ou égale à la séquence de clés « other » ; sinon, renvoie « false ».

Voir également operator==(), operator!=(), operator<(), operator>() et operator<=().

QKeyCombination QKeySequence::operator[](uint index) const

Renvoie une référence à l'élément situé à la position index dans la séquence de clés. Cette fonction ne peut être utilisée que pour lire un élément.

Éléments non membres associés

[noexcept] size_t qHash(const QKeySequence &key, size_t seed = 0)

Renvoie la valeur de hachage de key, en utilisant seed comme valeur de départ pour le calcul.

void qt_set_sequence_auto_mnemonic(bool b)

Indique si les mnémoniques des éléments de menu, des libellés, etc. doivent être prises en compte ou non. Sous Windows et X11, cette fonctionnalité est activée par défaut ; sous macOS, elle est désactivée. Lorsque cette fonctionnalité est désactivée (c'est-à-dire lorsque ` b ` est faux), la fonction ` QKeySequence::mnemonic()` renvoie toujours une chaîne vide.

Remarque : cette fonction n'est déclarée dans aucun des fichiers d'en-tête de Qt. Pour l'utiliser dans votre application, déclarez le prototype de la fonction avant de l'appeler.

Voir également QShortcut.

QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)

Écrit l'sequence de clé dans le fichier « stream ».

Voir également le format des opérateurs QDataStream.

QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)

Lit une séquence de clés depuis le flux « stream » et l'enregistre dans le flux « key sequence ».

Voir également Format des opérateurs QDataStream.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.