QShortcut Class
Die Klasse „QShortcut“ dient zum Erstellen von Tastaturkürzeln. Mehr...
| Überschrift: | #include <QShortcut> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QObject |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Mitglieder
- QShortcut ist Teil der Ereignisklassen.
Eigenschaften
- autoRepeat : bool
- context : Qt::ShortcutContext
- enabled : bool
- key : QKeySequence
Öffentliche Funktionen
| 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 |
Signale
| void | activated() |
| void | activatedAmbiguously() |
Ausführliche Beschreibung
Die Klasse `QShortcut` bietet eine Möglichkeit, Tastaturkürzel mit dem Signal- und Slot-Mechanismus von Qt zu verknüpfen, sodass Objekte benachrichtigt werden können, wenn ein Tastaturkürzel ausgeführt wird. Das Tastaturkürzel kann so eingerichtet werden, dass es alle Tastenanschläge enthält, die zur Beschreibung eines Tastaturkürzels erforderlich sind, einschließlich der Zustände von Modifikatortasten wie ` Shift`, ` Ctrl` und ` Alt`.
In Widget-Anwendungen können bestimmte Widgets ein „&“ vor einem Zeichen verwenden. Dadurch wird automatisch ein Mnemonik (eine Tastenkombination) für dieses Zeichen erstellt, z. B. erzeugt „E&xit“ die Tastenkombination Alt+X (verwenden Sie „&&“, um ein tatsächliches Und-Zeichen anzuzeigen). Das Widget kann eine bestimmte Tastenkombination verarbeiten und eine Aktion ausführen. Unter X11 wird das Und-Zeichen nicht angezeigt, stattdessen wird das Zeichen unterstrichen. Unter Windows werden Tastenkombinationen normalerweise erst angezeigt, wenn der Benutzer die Taste „ Alt “ drückt; dies ist jedoch eine Einstellung, die der Benutzer ändern kann. Auf dem Mac sind Tastenkombinationen standardmäßig deaktiviert. Rufen Sie qt_set_sequence_auto_mnemonic() auf, um sie zu aktivieren. Da mnemonische Tastenkombinationen jedoch nicht den Aqua-Richtlinien entsprechen, zeigt Qt das Tastenkombinationszeichen nicht unterstrichen an.
Für Anwendungen, die Menüs verwenden, ist es möglicherweise praktischer, die in der Klasse „ QMenu “ bereitgestellten Hilfsfunktionen zu nutzen, um Menüelementen bei ihrer Erstellung Tastenkombinationen zuzuweisen. Alternativ können Tastenkombinationen in der Klasse „ QAction “ auch mit anderen Arten von Aktionen verknüpft werden.
Die einfachste Möglichkeit, eine Tastenkombination für ein bestimmtes Widget zu erstellen, besteht darin, die Tastenkombination mit einer Tastenfolge zu definieren. Zum Beispiel:
shortcut = new QShortcut(QKeySequence(tr("Ctrl+O", "File|Open")),
parent);Wenn der Benutzer die Tastenkombination „ key sequence “ für eine bestimmte Tastenkombination eingibt, wird das Signal „ activated()“ der Tastenkombination ausgelöst. (Im Falle einer Mehrdeutigkeit wird das Signal „ activatedAmbiguously()“ ausgelöst.) Die Qt-Ereignisschleife „lauscht“ auf eine Tastenkombination, wenn das übergeordnete Widget der Tastenkombination Ereignisse empfängt.
Die Tastenfolge eines Shortcuts kann mit ` setKey()` festgelegt und mit ` key()` abgerufen werden. Ein Shortcut kann mit ` setEnabled()` aktiviert oder deaktiviert werden, und der Hilfetext „Was ist das?“ kann mit ` setWhatsThis()` festgelegt werden.
Siehe auch QShortcutEvent, QKeySequence und QAction.
Dokumentation zu Eigenschaften
autoRepeat : bool
Diese Eigenschaft legt fest, ob die Tastenkombination automatisch wiederholt werden kann
Wenn „true“, wird der Tastenbefehl automatisch wiederholt, solange die Tastenkombination gedrückt gehalten wird, vorausgesetzt, die automatische Wiederholung der Tastatureingaben ist im System aktiviert. Der Standardwert ist „true“.
Zugriffsfunktionen:
| bool | autoRepeat() const |
| void | setAutoRepeat(bool on) |
context : Qt::ShortcutContext
Diese Eigenschaft enthält den Kontext, in dem die Tastenkombination gültig ist
Der Kontext eines Shortcuts legt fest, unter welchen Umständen ein Shortcut ausgelöst werden darf. Der normale Kontext ist „ Qt::WindowShortcut “, wodurch der Shortcut ausgelöst werden kann, wenn das übergeordnete Element (das Widget, das den Shortcut enthält) ein Unterwidget des aktiven Fensters auf oberster Ebene ist.
Standardmäßig ist diese Eigenschaft auf „ Qt::WindowShortcut “ gesetzt.
Zugriffsfunktionen:
| Qt::ShortcutContext | context() const |
| void | setContext(Qt::ShortcutContext context) |
enabled : bool
Diese Eigenschaft gilt unabhängig davon, ob die Tastenkombination aktiviert ist
Ein aktivierter Shortcut sendet das Signal „ activated()“ oder „ activatedAmbiguously()“, wenn ein „ QShortcutEvent “ auftritt, der mit der Sequenz „ key()“ des Shortcuts übereinstimmt.
Befindet sich die Anwendung im Modus „ WhatsThis “, gibt die Tastenkombination die Signale nicht aus, sondern zeigt stattdessen den Text „Was ist das?“ an.
Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.
Zugriffsfunktionen:
| bool | isEnabled() const |
| void | setEnabled(bool enable) |
Siehe auch „ whatsThis “.
key : QKeySequence
Diese Eigenschaft enthält die Primärschlüsselsequenz der Tastenkombination
Dabei handelt es sich um eine Tastenkombination mit einer optionalen Kombination aus Umschalt-, Strg- und Alt-Taste. Die Tastenkombination kann auf verschiedene Arten angegeben werden:
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 documentStandardmäßig enthält diese Eigenschaft eine leere Tastenfolge.
Zugriffsfunktionen:
| QKeySequence | key() const |
| void | setKey(const QKeySequence &key) |
Dokumentation zu Mitgliedsfunktionen
[explicit] QShortcut::QShortcut(QObject *parent)
Erstellt ein QShortcut-Objekt für die „ parent “, bei der es sich um eine „ QWindow “ oder eine „ QWidget “ handeln sollte.
Da keine Tastenkombination angegeben ist, gibt die Tastenkombination keine Signale aus.
Siehe auch 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)
Erstellt ein QShortcut-Objekt für die „ parent “, bei der es sich um eine „ QWindow “ oder eine „ QWidget “ handeln sollte.
Der Shortcut wirkt auf sein übergeordnetes Element ein und überwacht „ QShortcutEvents“, die mit dem „ standardKey “ übereinstimmen. Je nach Mehrdeutigkeit des Ereignisses ruft der Shortcut entweder die Funktion „ member “ oder die Funktion „ ambiguousMember “ auf, sofern der Tastendruck im „ context “ des Shortcuts erfolgte.
Diese Funktion wurde in Qt 6.0 eingeführt.
[explicit] QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
Erstellt ein QShortcut-Objekt für die „ parent “, die entweder ein „ QWindow “ oder ein „ QWidget “ sein sollte.
Die Tastenkombination wirkt auf ihr übergeordnetes Element ein und überwacht „ QShortcutEvents“, die der „ key “-Sequenz entsprechen. Je nach Mehrdeutigkeit des Ereignisses ruft die Tastenkombination entweder die Funktion „ member “ oder die Funktion „ ambiguousMember “ auf, sofern der Tastendruck im „ context “ der Tastenkombination erfolgte.
[since 6.0] template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ der Verknüpfung mit „ functor “ verbindet.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.0 eingeführt.
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ des Shortcuts mit „ functor “ verbindet.
Dies ist eine überladene Funktion.
[since 6.0] template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ der Verknüpfung mit „ functor “ verbindet.
functor kann ein Zeiger auf eine Mitgliedsfunktion des Objekts „ context “ sein.
Wird das „ context “-Objekt zerstört, wird „ functor “ nicht aufgerufen.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.0 eingeführt.
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Dies ist ein Komfortkonstruktor von QShortcut, der das Signal „ activated()“ der Verknüpfung mit „ functor “ verbindet.
functor kann ein Zeiger auf eine Mitgliedsfunktion des context -Objekts sein.
Wird das „ context “-Objekt zerstört, wird „ functor “ nicht aufgerufen.
Dies ist eine überladene Funktion.
[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)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ des Shortcuts mit „ functor “ und das Signal „ activatedAmbiguously()“ mit „ functorAmbiguous “ verbindet.
functor und functorAmbiguous können ein Zeiger auf eine Mitgliedsfunktion des context -Objekts sein.
Wird das Objekt ` context ` zerstört, werden ` functor ` und ` functorAmbiguous ` nicht aufgerufen.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.0 eingeführt.
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ des Shortcuts mit „ functor “ und das Signal „ activatedAmbiguously()“ mit „ functorAmbiguous “ verbindet.
functor und functorAmbiguous können ein Zeiger auf eine Mitgliedsfunktion des context -Objekts sein.
Wird das Objekt „ context “ zerstört, werden „ functor “ und „ functorAmbiguous “ nicht aufgerufen.
Dies ist eine überladene Funktion.
[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)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ der Verknüpfung mit „ functor “ und das Signal „ activatedAmbiguously()“ mit „ functorAmbiguous “ verbindet.
functor kann ein Zeiger auf eine Mitgliedsfunktion des context1 -Objekts sein. functorAmbiguous kann ein Zeiger auf eine Mitgliedsfunktion des context2 -Objekts sein.
Wird das Objekt „ context1 “ zerstört, wird „ functor “ nicht aufgerufen. Wird das Objekt „ context2 “ zerstört, wird „ functorAmbiguous “ nicht aufgerufen.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.0 eingeführt.
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)
Dies ist ein QShortcut-Komfortkonstruktor, der das Signal „ activated()“ der Verknüpfung mit „ functor “ und das Signal „ activatedAmbiguously()“ mit „ functorAmbiguous “ verbindet.
functor kann ein Zeiger auf eine Mitgliedsfunktion des Objekts „ context1 “ sein. functorAmbiguous kann ein Zeiger auf eine Mitgliedsfunktion des Objekts „ context2 “ sein.
Wird das Objekt „ context1 “ zerstört, wird „ functor “ nicht aufgerufen. Wird das Objekt „ context2 “ zerstört, wird „ functorAmbiguous “ nicht aufgerufen.
Dies ist eine überladene Funktion.
[virtual noexcept] QShortcut::~QShortcut()
Löscht die Verknüpfung.
[signal] void QShortcut::activated()
Dieses Signal wird ausgelöst, wenn der Benutzer die Tastenkombination eingibt.
Siehe auch „ activatedAmbiguously()“.
[signal] void QShortcut::activatedAmbiguously()
Wenn eine Tastenfolge über die Tastatur eingegeben wird, gilt sie als mehrdeutig, solange sie mit dem Anfang von mehr als einem Tastenkürzel übereinstimmt.
Wenn die Tastenfolge eines Tastenkürzels vollständig eingegeben wurde, wird `activatedAmbiguously()` ausgelöst, sofern die Tastenfolge weiterhin mehrdeutig ist (d. h., sie ist der Anfang eines oder mehrerer anderer Tastenkürzel). Das Signal ` activated()` wird in diesem Fall nicht ausgelöst.
Siehe auch ` activated()`.
[since 6.0] QList<QKeySequence> QShortcut::keys() const
Gibt die Liste der Tastenkombinationen zurück, die diesen Shortcut auslösen.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch „ key “ und „ setKeys()“.
QWidget *QShortcut::parentWidget() const
Gibt das übergeordnete Widget des Shortcuts zurück.
[since 6.0] void QShortcut::setKeys(QKeySequence::StandardKey key)
Setzt die Trigger auf diejenigen, die dem Standard-Tasten key entsprechen.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch ` key ` und ` keys()`.
[since 6.0] void QShortcut::setKeys(const QList<QKeySequence> &keys)
Legt „ keys “ als Liste der Tastenfolgen fest, die den Tastenbefehl auslösen.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch „ key “ und „ keys()“.
void QShortcut::setWhatsThis(const QString &text)
Legt den „Was ist das?“-Hilfe text des Shortcuts fest.
Der Text wird angezeigt, wenn sich eine Widget-Anwendung im „Was ist das?“-Modus befindet und der Benutzer die Tastenkombination key() eingibt.
Um die „Was ist das?“-Hilfe für einen Menüpunkt (mit oder ohne Tastenkombination) festzulegen, legen Sie die Hilfe für die Aktion des Menüpunkts fest.
Standardmäßig ist der Hilfetext eine leere Zeichenkette.
Diese Funktion hat in Anwendungen, die keine Widgets verwenden, keine Auswirkung.
Siehe auch whatsThis(), QWhatsThis::inWhatsThisMode() und QAction::setWhatsThis().
QString QShortcut::whatsThis() const
Gibt den Hilfetext „Was ist das?“ des Shortcuts zurück.
Siehe auch „ 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.