QShortcut Class
Die Klasse QShortcut wird verwendet, um Tastaturkürzel zu erstellen. Mehr...
Kopfzeile: | #include <QShortcut> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Vererbt: | QObject |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Mitglieder
- QShortcut ist Teil von Event Classes.
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() |
Detaillierte Beschreibung
Die Klasse QShortcut bietet eine Möglichkeit, Tastaturkürzel mit dem Signal- und Slot-Mechanismus von Qt zu verbinden, so dass Objekte informiert werden können, wenn ein Kürzel ausgeführt wird. Der Shortcut kann so eingerichtet werden, dass er alle Tastendrücke 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 eine Eselsbrücke (ein Kürzel) für dieses Zeichen erzeugt, z. B. "E&xit" erzeugt das Kürzel Alt+X (verwenden Sie '&&', um ein echtes kaufmännisches Und anzuzeigen). Das Widget kann eine Aktion auf ein gegebenes Kürzel anwenden und ausführen. Unter X11 wird das kaufmännische Und nicht angezeigt und das Zeichen wird unterstrichen. Unter Windows werden Tastenkombinationen normalerweise erst angezeigt, wenn der Benutzer die Taste Alt drückt, aber diese Einstellung kann der Benutzer ändern. 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 mit den Richtlinien von Aqua übereinstimmen, zeigt Qt die Tastenkombinationen nicht unterstrichen an.
Für Anwendungen, die Menüs verwenden, kann es bequemer sein, die in der Klasse QMenu zur Verfügung gestellten Funktionen zu verwenden, um den Menüpunkten Tastenkombinationen zuzuweisen, während sie erstellt werden. Alternativ können Tastenkombinationen auch mit anderen Arten von Aktionen in der Klasse QAction verknüpft werden.
Der einfachste Weg, eine Tastenkombination für ein bestimmtes Widget zu erstellen, besteht darin, die Tastenkombination mit einer Tastenfolge zu konstruieren. Zum Beispiel:
shortcut = new QShortcut(QKeySequence(tr("Ctrl+O", "File|Open")), parent);
Wenn der Benutzer die key sequence für eine bestimmte Verknüpfung eingibt, wird das Signal activated() der Verknüpfung ausgegeben. (Im Falle einer Mehrdeutigkeit wird das Signal activatedAmbiguously() ausgegeben). Eine Verknüpfung wird von der Ereignisschleife von Qt "abgehört", wenn das übergeordnete Widget der Verknüpfung Ereignisse empfängt.
Die Tastenfolge eines Shortcuts kann mit setKey() gesetzt und mit key() abgerufen werden. Ein Tastaturkürzel kann mit setEnabled() aktiviert oder deaktiviert werden, und der Hilfetext "What's This?" kann mit setWhatsThis() gesetzt werden.
Siehe auch QShortcutEvent, QKeySequence, und QAction.
Dokumentation der Eigenschaften
autoRepeat : bool
Diese Eigenschaft gibt an, ob das Tastenkürzel automatisch wiederholt werden kann.
Bei true wird die Tastenkombination automatisch wiederholt, wenn sie gedrückt gehalten wird, vorausgesetzt, die automatische Wiederholung der Tastenkombination ist auf dem 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 Verknüpfung gültig ist
Der Kontext einer Verknüpfung bestimmt, unter welchen Umständen eine Verknüpfung ausgelöst werden darf. Der normale Kontext ist Qt::WindowShortcut, wodurch die Verknüpfung ausgelöst werden kann, wenn das übergeordnete Element (das Widget, das die Verknüpfung enthält) ein Unterelement des aktiven Fensters der obersten Ebene ist.
Standardmäßig ist diese Eigenschaft auf Qt::WindowShortcut eingestellt.
Zugriffsfunktionen:
Qt::ShortcutContext | context() const |
void | setContext(Qt::ShortcutContext context) |
enabled : bool
Diese Eigenschaft gibt an, ob die Verknüpfung aktiviert ist.
Eine aktivierte Verknüpfung gibt das Signal activated() oder activatedAmbiguously() aus, wenn ein QShortcutEvent auftritt, das mit der Sequenz key() der Verknüpfung übereinstimmt.
Wenn sich die Anwendung im Modus WhatsThis
befindet, gibt die Verknüpfung keine Signale aus, sondern zeigt stattdessen den Text "What's This?" an.
Standardmäßig ist diese Eigenschaft auf true
eingestellt.
Zugriffsfunktionen:
bool | isEnabled() const |
void | setEnabled(bool enable) |
Siehe auch whatsThis.
key : QKeySequence
Diese Eigenschaft enthält die primäre Tastenfolge des Tastaturkürzels
Dies ist eine Tastenfolge mit einer optionalen Kombination aus Umschalttaste, Strg und Alt. Die Tastenfolge kann auf verschiedene Weise 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("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 der Mitgliedsfunktionen
[explicit]
QShortcut::QShortcut(QObject *parent)
Konstruiert ein QShortcut-Objekt für das parent, das ein QWindow oder ein QWidget sein sollte.
Da keine Tastenkombination angegeben ist, wird die Verknüpfung keine Signale ausgeben.
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)
Konstruiert ein QShortcut-Objekt für das parent, das ein QWindow oder ein QWidget sein sollte.
Der Shortcut arbeitet mit seinem Elternteil und sucht nach QShortcutEvent, die mit standardKey übereinstimmen. Abhängig von der Mehrdeutigkeit des Ereignisses ruft der Shortcut die member Funktion auf, oder die ambiguousMember Funktion, wenn der Tastendruck im context des Shortcuts war.
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)
Konstruiert ein QShortcut-Objekt für das parent, das ein QWindow oder ein QWidget sein sollte.
Die Verknüpfung arbeitet mit ihrer übergeordneten Funktion und wartet auf QShortcutEvent, die mit der key Sequenz übereinstimmt. Je nach Zweideutigkeit des Ereignisses ruft die Verknüpfung die Funktion member oder die Funktion ambiguousMember auf, wenn der Tastendruck in der context der Verknüpfung lag.
[since 6.0]
template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
Dies ist eine überladene Funktion.
Dies ist ein QShortcut Convenience Konstruktor, der das activated() Signal des Shortcuts mit functor verbindet.
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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor verbindet.
[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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor verbindet.
Der functor kann ein Zeiger auf eine Mitgliedsfunktion des context Objekts sein.
Wenn das context Objekt zerstört wird, wird das functor nicht aufgerufen.
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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor verbindet.
Der functor kann ein Zeiger auf eine Mitgliedsfunktion des context Objekts sein.
Wenn das context Objekt zerstört wird, wird functor nicht aufgerufen.
[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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor und activatedAmbiguously()-Signal mit dem functorAmbiguous verbindet.
Die functor und functorAmbiguous können ein Zeiger auf eine Mitgliedsfunktion des context Objekts sein.
Wenn das context Objekt zerstört wird, werden die functor und functorAmbiguous nicht aufgerufen.
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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor und activatedAmbiguously()-Signal mit dem functorAmbiguous verbindet.
Die functor und functorAmbiguous können ein Zeiger auf eine Mitgliedsfunktion des context Objekts sein.
Wenn das context Objekt zerstört wird, werden functor und functorAmbiguous nicht aufgerufen.
[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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor und activatedAmbiguously()-Signal mit dem functorAmbiguous verbindet.
functor kann ein Zeiger auf eine Mitgliedsfunktion des context1 Objekts sein. Das functorAmbiguous kann ein Zeiger auf eine Mitgliedsfunktion des context2 Objekts sein.
Wenn das context1 Objekt zerstört wird, wird functor nicht aufgerufen. Wenn das context2 Objekt zerstört wird, wird functorAmbiguous nicht aufgerufen.
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 eine überladene Funktion.
Dies ist ein bequemer QShortcut-Konstruktor, der das activated()-Signal des Shortcuts mit dem functor und activatedAmbiguously()-Signal mit dem functorAmbiguous verbindet.
functor kann ein Zeiger auf eine Mitgliedsfunktion des context1 Objekts sein. Das functorAmbiguous kann ein Zeiger auf eine Mitgliedsfunktion des context2 Objekts sein.
Wenn das context1 Objekt zerstört wird, wird functor nicht aufgerufen. Wenn das context2 Objekt zerstört wird, wird functorAmbiguous nicht aufgerufen.
[virtual noexcept]
QShortcut::~QShortcut()
Zerstört die Verknüpfung.
[signal]
void QShortcut::activated()
Dieses Signal wird ausgegeben, wenn der Benutzer die Tastenfolge des Tastaturkürzels eingibt.
Siehe auch activatedAmbiguously().
[signal]
void QShortcut::activatedAmbiguously()
Wenn eine Tastenfolge auf der Tastatur eingegeben wird, gilt sie als mehrdeutig, solange sie den Anfang von mehr als einer Tastenkombination darstellt.
Wenn die Tastenfolge einer Tastenkombination abgeschlossen ist, wird activatedAmbiguously() ausgegeben, wenn die Tastenfolge immer noch mehrdeutig ist (d. h. sie ist der Anfang einer oder mehrerer anderer Tastenkombinationen). Das Signal activated() wird in diesem Fall nicht ausgegeben.
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.
QWidget *QShortcut::parentWidget() const
Gibt das übergeordnete Widget der Verknüpfung zurück.
[since 6.0]
void QShortcut::setKeys(QKeySequence::StandardKey key)
Setzt die Auslöser auf diejenigen, die der Standardtaste key entsprechen.
Diese Funktion wurde in Qt 6.0 eingeführt.
[since 6.0]
void QShortcut::setKeys(const QList<QKeySequence> &keys)
Setzt keys als Liste der Tastenkombinationen, die den Shortcut auslösen.
Diese Funktion wurde in Qt 6.0 eingeführt.
void QShortcut::setWhatsThis(const QString &text)
Legt die "Was ist das?"-Hilfe der Verknüpfung text fest.
Der Text wird angezeigt, wenn sich eine Widget-Anwendung im Modus "Was ist das?" befindet und der Benutzer die Tastenkombination key() eingibt.
Um die "Was ist das?"-Hilfe für einen Menüpunkt (mit oder ohne Tastenkürzel) zu setzen, setzen Sie die Hilfe auf die Aktion des Punktes.
Standardmäßig ist der Hilfetext eine leere Zeichenkette.
Diese Funktion hat keine Wirkung in Anwendungen, die keine Widgets verwenden.
Siehe auch whatsThis(), QWhatsThis::inWhatsThisMode(), und QAction::setWhatsThis().
QString QShortcut::whatsThis() const
Gibt den "Was ist das?"-Hilfetext der Abkürzung zurück.
Siehe auch setWhatsThis().
© 2025 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.