QKeyEvent Class

Die Klasse QKeyEvent beschreibt ein Tastenereignis. Mehr...

Kopfzeile: #include <QKeyEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Vererbungen: QInputEvent

Öffentliche Funktionen

QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)
QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())
int count() const
bool isAutoRepeat() const
int key() const
(since 6.0) QKeyCombination keyCombination() const
bool matches(QKeySequence::StandardKey key) const
Qt::KeyboardModifiers modifiers() const
quint32 nativeModifiers() const
quint32 nativeScanCode() const
quint32 nativeVirtualKey() const
QString text() const

Detaillierte Beschreibung

Tastenereignisse werden an das Widget mit dem Tastatureingabefokus gesendet, wenn Tasten gedrückt oder losgelassen werden.

Ein Tastenereignis enthält ein spezielles Akzeptieren-Flag, das angibt, ob der Empfänger das Tastenereignis verarbeiten wird. Dieses Flag ist standardmäßig für QEvent::KeyPress und QEvent::KeyRelease gesetzt, so dass es nicht notwendig ist, accept() aufzurufen, wenn auf ein Tastenereignis reagiert wird. Für QEvent::ShortcutOverride muss der Empfänger das Ereignis explizit akzeptieren, um die Überschreibung auszulösen. Der Aufruf von ignore() für ein Tastenereignis überträgt es auf das übergeordnete Widget. Das Ereignis wird in der Kette der übergeordneten Widgets weitergegeben, bis ein Widget es akzeptiert oder ein Ereignisfilter es verbraucht.

Die Funktion QWidget::setEnabled() kann verwendet werden, um Maus- und Tastaturereignisse für ein Widget zu aktivieren oder zu deaktivieren.

Die Ereignisbehandler QWidget::keyPressEvent(), QWidget::keyReleaseEvent(), QGraphicsItem::keyPressEvent() und QGraphicsItem::keyReleaseEvent() empfangen Tastenereignisse.

Siehe auch QFocusEvent und QWidget::grabKeyboard().

Dokumentation der Mitgliedsfunktionen

QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)

Konstruiert ein Schlüsselereignis-Objekt.

Der Parameter type muss QEvent::KeyPress, QEvent::KeyRelease, oder QEvent::ShortcutOverride sein.

Int key ist der Code für Qt::Key, auf den die Ereignisschleife warten soll. Wenn key gleich 0 ist, ist das Ereignis nicht das Ergebnis einer bekannten Taste; es kann zum Beispiel das Ergebnis einer Kompositionssequenz oder eines Tastaturmakros sein. modifiers enthält die Tastaturmodifikatoren, und der angegebene text ist der Unicode-Text, den die Taste erzeugt hat. Wenn autorep wahr ist, wird isAutoRepeat() wahr sein. count ist die Anzahl der an dem Ereignis beteiligten Tasten.

QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())

Konstruiert ein Schlüsselereignis-Objekt.

Der Parameter type muss QEvent::KeyPress, QEvent::KeyRelease, oder QEvent::ShortcutOverride sein.

Int key ist der Code für Qt::Key, auf den die Ereignisschleife warten soll. Wenn key gleich 0 ist, ist das Ereignis nicht das Ergebnis einer bekannten Taste; es kann zum Beispiel das Ergebnis einer Kompositionssequenz oder eines Tastaturmakros sein. modifiers enthält die Tastaturmodifikatoren, und der angegebene text ist der Unicode-Text, den die Taste erzeugt hat. Wenn autorep wahr ist, wird isAutoRepeat() wahr sein. count ist die Anzahl der an dem Ereignis beteiligten Tasten.

Zusätzlich zu den normalen Schlüsselereignisdaten enthält nativeScanCode, nativeVirtualKey und nativeModifiers. Diese zusätzlichen Daten werden vom Tastenkürzelsystem verwendet, um zu bestimmen, welche Tastenkombinationen ausgelöst werden sollen.

int QKeyEvent::count() const

Gibt die Anzahl der an diesem Ereignis beteiligten Schlüssel zurück. Wenn text() nicht leer ist, ist dies einfach die Länge der Zeichenkette.

Siehe auch Qt::WA_KeyCompression.

bool QKeyEvent::isAutoRepeat() const

Gibt true zurück, wenn dieses Ereignis von einer automatisch wiederholten Taste stammt; gibt false zurück, wenn es von einem ersten Tastendruck stammt.

Beachten Sie, dass diese Funktion entweder true oder false zurückgeben kann, wenn es sich um ein komprimiertes Ereignis mit mehreren Tasten handelt, das teilweise auf die automatische Wiederholung zurückzuführen ist.

int QKeyEvent::key() const

Gibt den Code der Taste zurück, die gedrückt oder losgelassen wurde.

Siehe Qt::Key für die Liste der Tastaturcodes. Diese Codes sind unabhängig vom zugrunde liegenden Fenstersystem. Beachten Sie, dass diese Funktion nicht zwischen Groß- und Nicht-Großbuchstaben unterscheidet. Verwenden Sie zu diesem Zweck die Funktion text() (die den Unicode-Text zurückgibt, den die Taste erzeugt hat).

Ein Wert von 0 oder Qt::Key_unknown bedeutet, dass das Ereignis nicht das Ergebnis einer bekannten Taste ist; es kann z. B. das Ergebnis einer Kompositionssequenz, eines Tastaturmakros oder einer Tastenereigniskompression sein.

Siehe auch Qt::WA_KeyCompression.

[since 6.0] QKeyCombination QKeyEvent::keyCombination() const

Gibt ein QKeyCombination Objekt zurück, das sowohl das key() als auch das modifiers() enthält, die von diesem Ereignis getragen werden.

Diese Funktion wurde in Qt 6.0 eingeführt.

bool QKeyEvent::matches(QKeySequence::StandardKey key) const

Gibt true zurück, wenn das Schlüsselereignis mit dem angegebenen Standard key übereinstimmt; andernfalls wird false zurückgegeben.

Qt::KeyboardModifiers QKeyEvent::modifiers() const

Gibt die Tastaturmodifikatorflags zurück, die unmittelbar nach dem Auftreten des Ereignisses vorhanden waren.

Warnung: Dieser Funktion ist nicht immer zu trauen. Der Benutzer kann sie verwirren, indem er z. B. beide Shift Tasten gleichzeitig drückt und eine davon loslässt.

Siehe auch QGuiApplication::keyboardModifiers().

quint32 QKeyEvent::nativeModifiers() const

Gibt die nativen Modifikatoren eines Tastenereignisses zurück. Enthält das Tastenereignis diese Daten nicht, wird 0 zurückgegeben.

Hinweis: Die nativen Modifikatoren können 0 sein, auch wenn das Tastenereignis erweiterte Informationen enthält.

quint32 QKeyEvent::nativeScanCode() const

Gibt den nativen Scan-Code des Tastenereignisses zurück. Enthält das Schlüsselereignis diese Daten nicht, wird 0 zurückgegeben.

Hinweis: Der native Scan-Code kann 0 sein, auch wenn das Schlüsselereignis erweiterte Informationen enthält.

quint32 QKeyEvent::nativeVirtualKey() const

Gibt den nativen virtuellen Schlüssel oder das Schlüsselsymbol des Schlüsselereignisses zurück. Enthält das Schlüsselereignis diese Daten nicht, wird 0 zurückgegeben.

Hinweis: Der native virtuelle Schlüssel kann 0 sein, auch wenn das Schlüsselereignis erweiterte Informationen enthält.

QString QKeyEvent::text() const

Gibt den Unicode-Text zurück, den dieser Schlüssel erzeugt hat.

Der Text ist nicht auf den druckbaren Bereich der Unicode-Codepunkte beschränkt und kann Steuerzeichen oder Zeichen aus anderen Unicode-Kategorien enthalten, einschließlich QChar::Other_PrivateUse.

Der Text kann auch leer sein, z. B. wenn Modifikatortasten wie Shift, Control, Alt und Meta gedrückt werden (abhängig von der Plattform). Die Funktion key() gibt immer einen gültigen Wert zurück.

Siehe auch Qt::WA_KeyCompression.

© 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.