Auf dieser Seite

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

Eigenschaften

Ö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

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 document

Standardmäß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.