QShortcut Class
La classe QShortcut sert à créer des raccourcis clavier. En savoir plus...
| En-tête : | #include <QShortcut> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Hérite de : | QObject |
- Liste de tous les membres, y compris les membres hérités
- Membres obsolètes
- QShortcut fait partie des classes d'événements.
Propriétés
- autoRepeat : bool
- context : Qt::ShortcutContext
- enabled : bool
- key : QKeySequence
Fonctions publiques
| QShortcut(QObject *parent) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut) |
| QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
| QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
| QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
| QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
| QShortcut(const QKeySequence &key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
| virtual | ~QShortcut() |
| bool | autoRepeat() const |
| Qt::ShortcutContext | context() const |
| bool | isEnabled() const |
| QKeySequence | key() const |
(since 6.0) QList<QKeySequence> | keys() const |
| QWidget * | parentWidget() const |
| void | setAutoRepeat(bool on) |
| void | setContext(Qt::ShortcutContext context) |
| void | setEnabled(bool enable) |
| void | setKey(const QKeySequence &key) |
(since 6.0) void | setKeys(QKeySequence::StandardKey key) |
(since 6.0) void | setKeys(const QList<QKeySequence> &keys) |
| void | setWhatsThis(const QString &text) |
| QString | whatsThis() const |
Signaux
| void | activated() |
| void | activatedAmbiguously() |
Description détaillée
La classe QShortcut permet d’associer des raccourcis clavier au mécanisme de signaux et de slots de Qt, afin que les objets soient informés lorsqu’un raccourci est exécuté. Le raccourci peut être configuré pour contenir toutes les frappes nécessaires à sa définition, y compris les états des touches de modification telles que Shift, Ctrl et Alt.
Dans les applications utilisant des widgets, certains widgets peuvent utiliser le caractère « & » devant un autre caractère. Cela crée automatiquement un mnémonique (un raccourci) pour ce caractère ; par exemple, « E&xit » créera le raccourci Alt+X (utilisez « && » pour afficher le caractère « & »). Le widget peut intercepter un raccourci donné et exécuter une action correspondante. Sous X11, le signe « & » n’apparaîtra pas et le caractère sera souligné. Sous Windows, les raccourcis ne s’affichent généralement pas tant que l’utilisateur n’a pas appuyé sur la touche « Alt », mais il s’agit d’un paramètre que l’utilisateur peut modifier. Sous Mac, les raccourcis sont désactivés par défaut. Appelez la fonction qt_set_sequence_auto_mnemonic() pour les activer. Cependant, comme les raccourcis mnémoniques ne respectent pas les directives d'Aqua, Qt n'affichera pas le caractère du raccourci souligné.
Pour les applications qui utilisent des menus, il peut être plus pratique d’utiliser les fonctions de commodité fournies dans la classe ` QMenu ` pour attribuer des raccourcis clavier aux éléments de menu au fur et à mesure de leur création. Il est également possible d’associer des raccourcis à d’autres types d’actions dans la classe ` QAction `.
La manière la plus simple de créer un raccourci pour un widget particulier consiste à le définir à l’aide d’une séquence de touches. Par exemple :
shortcut = new QShortcut(QKeySequence(tr("Ctrl+O", "File|Open")),
parent);Lorsque l’utilisateur tape la séquence de touches ( key sequence ) correspondant à un raccourci donné, le signal activated() de ce raccourci est émis. (En cas d’ambiguïté, c’est le signal activatedAmbiguously() qui est émis.) Un raccourci est « écouté » par la boucle d’événements de Qt lorsque le widget parent du raccourci reçoit des événements.
La séquence de touches d’un raccourci peut être définie à l’aide de ` setKey()` et récupérée à l’aide de ` key()`. Un raccourci peut être activé ou désactivé à l’aide de ` setEnabled()`, et son texte d’aide « Qu’est-ce que c’est ? » peut être défini à l’aide de ` setWhatsThis()`.
Voir également QShortcutEvent, QKeySequence et QAction.
Documentation sur les propriétés
autoRepeat : bool
Cette propriété détermine si le raccourci clavier peut être répété automatiquement
Si la valeur est « true », le raccourci s'enchaînera automatiquement lorsque la combinaison de touches est maintenue enfoncée, à condition que la répétition automatique du clavier soit activée sur le système. La valeur par défaut est « true ».
Fonctions d'accès :
| bool | autoRepeat() const |
| void | setAutoRepeat(bool on) |
context : Qt::ShortcutContext
Cette propriété définit le contexte dans lequel le raccourci est valide
Le contexte d'un raccourci détermine dans quelles circonstances celui-ci peut être déclenché. Le contexte par défaut est « Qt::WindowShortcut », ce qui permet au raccourci de se déclencher si le parent (le widget contenant le raccourci) est un sous-widget de la fenêtre de niveau supérieur active.
Par défaut, cette propriété est définie sur Qt::WindowShortcut.
Fonctions d’accès :
| Qt::ShortcutContext | context() const |
| void | setContext(Qt::ShortcutContext context) |
enabled : bool
Cette propriété s'applique que le raccourci soit activé ou non
Un raccourci activé émet le signal activated() ou activatedAmbiguously() lorsqu'un événement QShortcutEvent se produit et correspond à la séquence key() du raccourci.
Si l’application est en mode « WhatsThis », le raccourci n’émettra pas ces signaux, mais affichera à la place le texte « Qu’est-ce que c’est ? ».
Par défaut, cette propriété est définie sur « true ».
Fonctions d’accès :
| bool | isEnabled() const |
| void | setEnabled(bool enable) |
Voir également whatsThis.
key : QKeySequence
Cette propriété contient la séquence de touches de raccourci principale
Il s'agit d'une séquence de touches pouvant inclure, de manière facultative, les touches Maj, Ctrl et Alt. La séquence de touches peut être fournie de plusieurs façons :
setKey(0); // no signal emitted
setKey(QKeySequence()); // no signal emitted
setKey(0x3b1); // Greek letter alpha
setKey(Qt::Key_D); // 'd', e.g. to delete
setKey('q'); // 'q', e.g. to quit
setKey(Qt::CTRL | Qt::Key_P); // Ctrl+P, e.g. to print document
setKey(tr("Ctrl+P")); // Ctrl+P, e.g. to print documentPar défaut, cette propriété contient une séquence de touches vide.
Fonctions d'accès :
| QKeySequence | key() const |
| void | setKey(const QKeySequence &key) |
Documentation sur les fonctions de membre
[explicit] QShortcut::QShortcut(QObject *parent)
Crée un objet QShortcut pour l'parent, qui doit être une QWindow ou une QWidget.
Comme aucune séquence de touches de raccourci n’est spécifiée, le raccourci n’émettra aucun signal.
Voir également setKey().
[explicit, since 6.0] QShortcut::QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
Crée un objet QShortcut pour l'parent, qui doit être un QWindow ou un QWidget.
Le raccourci agit sur son parent, en surveillant les événements « QShortcutEvent» qui correspondent à l’« standardKey ». En fonction de l’ambiguïté de l’événement, le raccourci appellera la fonction « member » ou la fonction « ambiguousMember », si la touche enfoncée se trouve dans la zone de « context » du raccourci.
Cette fonction a été introduite dans Qt 6.0.
[explicit] QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
Crée un objet QShortcut pour l'parent, qui doit être un QWindow ou un QWidget.
Le raccourci agit sur son parent, en surveillant les événements « QShortcutEvent» qui correspondent à la séquence de « key ». En fonction de l’ambiguïté de l’événement, le raccourci appellera la fonction « member » ou la fonction « ambiguousMember », si la touche enfoncée se trouvait dans l’ context du raccourci.
[since 6.0] template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal ` activated()` du raccourci à la fonction ` functor`.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal ` activated()` du raccourci à la fonction ` functor`.
Il s'agit d'une fonction surchargée.
[since 6.0] template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal ` activated()` du raccourci à ` functor`.
La fonction ` functor ` peut être un pointeur vers une fonction membre de l'objet ` context `.
Si l'objet ` context ` est détruit, la fonction ` functor ` ne sera pas appelée.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur de commodité de QShortcut qui relie le signal activated() du raccourci à functor.
La fonction ` functor ` peut être un pointeur vers une fonction membre de l'objet ` context `.
Si l'objet context est détruit, la fonction functor ne sera pas appelée.
Il s'agit d'une fonction surchargée.
[since 6.0] template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal activated() du raccourci à functor et le signal activatedAmbiguously() à functorAmbiguous.
Les signaux functor et functorAmbiguous peuvent être des pointeurs vers une fonction membre de l’objet context.
Si l’objet context est détruit, les fonctions functor et functorAmbiguous ne seront pas appelées.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal ` activated()` du raccourci à ` functor ` et le signal ` activatedAmbiguously()` à ` functorAmbiguous`.
Les signaux functor et functorAmbiguous peuvent être des pointeurs vers une fonction membre de l’objet context.
Si l'objet context est détruit, les fonctions functor et functorAmbiguous ne seront pas appelées.
Il s'agit d'une fonction surchargée.
[since 6.0] template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal ` activated()` du raccourci à ` functor ` et le signal ` activatedAmbiguously()` à ` functorAmbiguous`.
functor peut être un pointeur vers une fonction membre de l’objet context1. functorAmbiguous peut être un pointeur vers une fonction membre de l’objet context2.
Si l’objet context1 est détruit, la fonction functor ne sera pas appelée. Si l’objet context2 est détruit, la fonction functorAmbiguous ne sera pas appelée.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Il s'agit d'un constructeur pratique de QShortcut qui relie le signal activated() du raccourci à l'functor et le signal activatedAmbiguously() à l'functorAmbiguous.
functor peut être un pointeur vers une fonction membre de l’objet context1. functorAmbiguous peut être un pointeur vers une fonction membre de l’objet context2.
Si l’objet context1 est détruit, la fonction functor ne sera pas appelée. Si l’objet context2 est détruit, la fonction functorAmbiguous ne sera pas appelée.
Il s'agit d'une fonction surchargée.
[virtual noexcept] QShortcut::~QShortcut()
Supprime le raccourci.
[signal] void QShortcut::activated()
Ce signal est émis lorsque l'utilisateur tape la séquence de touches correspondant au raccourci.
Voir également activatedAmbiguously().
[signal] void QShortcut::activatedAmbiguously()
Lorsqu'une séquence de touches est saisie au clavier, elle est considérée comme ambiguë tant qu'elle correspond au début de plusieurs raccourcis.
Lorsque la séquence de touches d’un raccourci est terminée, la fonction activatedAmbiguously() est émise si la séquence de touches est toujours ambiguë (c’est-à-dire si elle correspond au début d’un ou plusieurs autres raccourcis). Le signal activated() n’est pas émis dans ce cas.
Voir également activated().
[since 6.0] QList<QKeySequence> QShortcut::keys() const
Renvoie la liste des combinaisons de touches qui déclenchent ce raccourci.
Cette fonction a été introduite dans Qt 6.0.
Voir également ` key ` et ` setKeys()`.
QWidget *QShortcut::parentWidget() const
Renvoie le widget parent du raccourci.
[since 6.0] void QShortcut::setKeys(QKeySequence::StandardKey key)
Définit les déclencheurs sur ceux correspondant à l'key standard des touches.
Cette fonction a été introduite dans Qt 6.0.
[since 6.0] void QShortcut::setKeys(const QList<QKeySequence> &keys)
Définit ` keys ` comme liste des séquences de touches qui déclenchent le raccourci.
Cette fonction a été introduite dans Qt 6.0.
void QShortcut::setWhatsThis(const QString &text)
Définit l'text d'aide « Qu'est-ce que c'est ? » du raccourci.
Ce texte s'affiche lorsqu'une application de widget est en mode « Qu'est-ce que c'est ? » et que l'utilisateur saisit la séquence de raccourcis key().
Pour définir l'aide « Qu'est-ce que c'est ? » sur un élément de menu (avec ou sans touche de raccourci), définissez l'aide sur l'action de l'élément.
Par défaut, le texte d’aide est une chaîne vide.
Cette fonction n’a aucun effet dans les applications qui n’utilisent pas de widgets.
Voir également whatsThis(), QWhatsThis::inWhatsThisMode() et QAction::setWhatsThis().
QString QShortcut::whatsThis() const
Renvoie le texte d'aide « Qu'est-ce que c'est ? » du raccourci.
Voir aussi setWhatsThis().
© 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.