QVirtualKeyboardInputEngine Class

Die Klasse InputEngine bietet eine Eingabemaschine, die die Integration von C++ und QML unterstützt. Mehr...

Kopfzeile: #include <QVirtualKeyboardInputEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard)
target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard)
qmake: QT += virtualkeyboard
In QML: InputEngine
Vererbt: QObject

Öffentliche Typen

enum class InputMode { Latin, Numeric, Dialable, Pinyin, Cangjie, …, Romaji }
enum class PatternRecognitionMode { None, PatternRecognitionDisabled, Handwriting, HandwritingRecoginition }
enum class ReselectFlag { WordBeforeCursor, WordAfterCursor, WordAtCursor }
flags ReselectFlags
enum class TextCase { Lower, Upper }

Eigenschaften

Öffentliche Funktionen

Qt::Key activeKey() const
QVirtualKeyboardInputContext *inputContext() const
QVirtualKeyboardAbstractInputMethod *inputMethod() const
QVirtualKeyboardInputEngine::InputMode inputMode() const
QList<int> inputModes() const
QList<int> patternRecognitionModes() const
Qt::Key previousKey() const
(since QtQuick.VirtualKeyboard 2.0) bool reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)
void setInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod)
void setInputMode(QVirtualKeyboardInputEngine::InputMode inputMode)
(since QtQuick.VirtualKeyboard 2.0) QVirtualKeyboardTrace *traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo)
bool traceEnd(QVirtualKeyboardTrace *trace)
void virtualKeyCancel()
bool virtualKeyClick(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)
bool virtualKeyPress(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool repeat)
bool virtualKeyRelease(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)
QVirtualKeyboardSelectionListModel *wordCandidateListModel() const
bool wordCandidateListVisibleHint() const

Signale

void activeKeyChanged(Qt::Key key)
void inputMethodChanged()
void inputMethodReset()
void inputMethodUpdate()
void inputModeChanged()
void inputModesChanged()
(since QtQuick.VirtualKeyboard 2.0) void patternRecognitionModesChanged()
void previousKeyChanged(Qt::Key key)
void virtualKeyClicked(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool isAutoRepeat)
void wordCandidateListModelChanged()
void wordCandidateListVisibleHintChanged()

Detaillierte Beschreibung

Die Eingabe-Engine ist für die Weiterleitung von Eingabeereignissen an Eingabemethoden zuständig. Die eigentliche Eingabelogik wird von den Eingabemethoden implementiert.

Die Eingabe-Engine umfasst auch die Standard-Eingabemethode, die für die Standardverarbeitung sorgt, wenn die aktive Eingabemethode das Ereignis nicht verarbeitet.

Dokumentation der Mitgliedstypen

enum class QVirtualKeyboardInputEngine::InputMode

Diese Aufzählung gibt den Eingabemodus für die Eingabemethode an.

KonstanteWertBeschreibung
QVirtualKeyboardInputEngine::InputMode::Latin0Der Standard-Eingabemodus für lateinischen Text.
QVirtualKeyboardInputEngine::InputMode::Numeric1Nur numerische Eingaben sind erlaubt.
QVirtualKeyboardInputEngine::InputMode::Dialable2Nur wählbare Eingaben sind erlaubt.
QVirtualKeyboardInputEngine::InputMode::Pinyin3Pinyin-Eingabemodus für Chinesisch.
QVirtualKeyboardInputEngine::InputMode::Cangjie4Cangjie-Eingabemodus für Chinesisch.
QVirtualKeyboardInputEngine::InputMode::Zhuyin5Zhuyin-Eingabemodus für Chinesisch.
QVirtualKeyboardInputEngine::InputMode::Hangul6Hangul-Eingabemodus für Koreanisch.
QVirtualKeyboardInputEngine::InputMode::Hiragana7Hiragana-Eingabemodus für Japanisch.
QVirtualKeyboardInputEngine::InputMode::Katakana8Katakana-Eingabemodus für Japanisch.
QVirtualKeyboardInputEngine::InputMode::FullwidthLatin9Lateineingabemodus in voller Breite für ostasiatische Sprachen.
QVirtualKeyboardInputEngine::InputMode::Greek10Griechischer Eingabemodus.
QVirtualKeyboardInputEngine::InputMode::Cyrillic11Kyrillischer Eingabemodus.
QVirtualKeyboardInputEngine::InputMode::Arabic12Arabischer Eingabemodus.
QVirtualKeyboardInputEngine::InputMode::Hebrew13Hebräischer Eingabemodus.
QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting14Chinesischer Handschrifteingabemodus.
QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting15Japanischer Handschrifteingabemodus.
QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting16Koreanischer Handschrifteingabemodus.
QVirtualKeyboardInputEngine::InputMode::Thai17Thailändischer Eingabemodus.
QVirtualKeyboardInputEngine::InputMode::Stroke18Stroke-Eingabemodus für Chinesisch.
QVirtualKeyboardInputEngine::InputMode::Romaji19Romaji-Eingabemodus für Japanisch.

enum class QVirtualKeyboardInputEngine::PatternRecognitionMode

Diese Aufzählung gibt den Eingabemodus für die Eingabemethode an.

KonstanteWertBeschreibung
QVirtualKeyboardInputEngine::PatternRecognitionMode::None0Die Mustererkennung ist nicht verfügbar.
QVirtualKeyboardInputEngine::PatternRecognitionMode::PatternRecognitionDisabledNoneobsolete Verwenden Sie PatternRecognitionMode::None
QVirtualKeyboardInputEngine::PatternRecognitionMode::Handwriting1Mustererkennungsmodus für die Handschrifterkennung.
QVirtualKeyboardInputEngine::PatternRecognitionMode::HandwritingRecoginitionHandwritingobsolete Verwenden Sie PatternRecognitionMode::Handwriting

enum class QVirtualKeyboardInputEngine::ReselectFlag
flags QVirtualKeyboardInputEngine::ReselectFlags

Diese Aufzählung spezifiziert die Regeln für die Wortneuauswahl.

KonstanteWertBeschreibung
QVirtualKeyboardInputEngine::ReselectFlag::WordBeforeCursor0x1Aktiviert das Wort vor dem Cursor. Wenn ausschließlich dieses Flag verwendet wird, muss das Wort genau am Cursor enden.
QVirtualKeyboardInputEngine::ReselectFlag::WordAfterCursor0x2Aktiviert das Wort nach dem Cursor. Wenn ausschließlich dieses Flag verwendet wird, muss das Wort genau am Cursor beginnen.
QVirtualKeyboardInputEngine::ReselectFlag::WordAtCursorWordBeforeCursor | WordAfterCursorAktiviere das Wort an der Schreibmarke. Dieses Flag ist eine Kombination der oben genannten Flags, mit der Ausnahme, dass das Wort nicht am Cursor beginnen oder enden darf.

Der Typ ReselectFlags ist ein Typedef für QFlags<ReselectFlag>. Er speichert eine ODER-Kombination von ReselectFlag-Werten.

enum class QVirtualKeyboardInputEngine::TextCase

Diese Aufzählung gibt die Groß- und Kleinschreibung für die Eingabemethode an.

KonstanteWertBeschreibung
QVirtualKeyboardInputEngine::TextCase::Lower0Text in Kleinbuchstaben.
QVirtualKeyboardInputEngine::TextCase::Upper1Text in Großbuchstaben.

Eigenschaft Dokumentation

[read-only] activeKey : const Qt::Key

Diese Eigenschaft enthält die aktive Taste.

Aktuell gedrückte Taste.

Zugriffsfunktionen:

Qt::Key activeKey() const

Benachrichtigungssignal:

void activeKeyChanged(Qt::Key key)

inputMethod : QVirtualKeyboardAbstractInputMethod*

Diese Eigenschaft enthält die aktive Eingabemethode.

Verwenden Sie diese Eigenschaft, um die aktive Eingabemethode festzulegen oder um zu überwachen, wann sich die aktive Eingabemethode ändert.

Zugriffsfunktionen:

QVirtualKeyboardAbstractInputMethod *inputMethod() const
void setInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod)

Melder-Signal:

inputMode : InputMode

Diese Eigenschaft enthält den aktuellen Eingabemodus.

Verwenden Sie diese Eigenschaft, um den aktuellen Eingabemodus zu erhalten oder einzustellen. Die InputEngine::inputModes bietet eine Liste der gültigen Eingabemodi für die aktuelle Eingabemethode und das Gebietsschema.

Zugriffsfunktionen:

QVirtualKeyboardInputEngine::InputMode inputMode() const
void setInputMode(QVirtualKeyboardInputEngine::InputMode inputMode)

Benachrichtigungssignal:

[read-only] inputModes : const QList<int>

Diese Eigenschaft enthält die verfügbaren Eingabemodi für die aktive Eingabemethode.

Die Liste der verfügbaren Eingabemodi ist abhängig von der Eingabemethode und dem Gebietsschema. Diese Eigenschaft wird aktualisiert, wenn sich eine der beiden Abhängigkeiten ändert.

Zugriffsfunktionen:

QList<int> inputModes() const

Benachrichtigungssignal:

[read-only, since QtQuick.VirtualKeyboard 2.0] patternRecognitionModes : const QList<int>

Diese Eigenschaft enthält die Liste der verfügbaren Mustererkennungsmodi.

Die Liste der verfügbaren Mustererkennungsmodi.

Diese Eigenschaft wurde in QtQuick.VirtualKeyboard 2.0 eingeführt.

Zugriffsfunktionen:

QList<int> patternRecognitionModes() const

Benachrichtigungssignal:

[read-only] previousKey : const Qt::Key

Diese Eigenschaft enthält die zuvor aktive Taste.

Zuvor gedrückte Taste.

Zugriffsfunktionen:

Qt::Key previousKey() const

Benachrichtigungssignal:

void previousKeyChanged(Qt::Key key)

[read-only] wordCandidateListModel : QVirtualKeyboardSelectionListModel* const

Listenmodell für die Wortkandidatenliste.

Verwenden Sie diese Eigenschaft, um auf das Listenmodell für die Wortkandidatenliste zuzugreifen.

Zugriffsfunktionen:

QVirtualKeyboardSelectionListModel *wordCandidateListModel() const

Benachrichtigungssignal:

void wordCandidateListModelChanged()

[read-only] wordCandidateListVisibleHint : const bool

sichtbarer Hinweis für die Wortkandidatenliste.

Verwenden Sie diese Eigenschaft, um zu prüfen, ob die Wortkandidatenliste in der Benutzeroberfläche sichtbar sein soll.

Zugriffsfunktionen:

bool wordCandidateListVisibleHint() const

Benachrichtigungssignal:

void wordCandidateListVisibleHintChanged()

Member Function Dokumentation

Qt::Key QVirtualKeyboardInputEngine::activeKey() const

Gibt die derzeit aktive Taste zurück, oder Qt::Key_unknown, wenn keine Taste aktiv ist.

Hinweis: Getter-Funktion für die Eigenschaft activeKey.

[signal] void QVirtualKeyboardInputEngine::activeKeyChanged(Qt::Key key)

Zeigt an, dass sich die aktive key geändert hat.

Hinweis: Meldesignal für die Eigenschaft activeKey.

QVirtualKeyboardInputContext *QVirtualKeyboardInputEngine::inputContext() const

Gibt die Instanz InputContext zurück, die mit dem Eingabemotor verbunden ist.

QVirtualKeyboardAbstractInputMethod *QVirtualKeyboardInputEngine::inputMethod() const

Gibt die aktive Eingabemethode zurück.

Hinweis: Getter-Funktion für die Eigenschaft inputMethod.

Siehe auch setInputMethod().

[signal] void QVirtualKeyboardInputEngine::inputMethodChanged()

Zeigt an, dass sich die Eingabemethode geändert hat.

Hinweis: Meldesignal für die Eigenschaft inputMethod.

[signal] void QVirtualKeyboardInputEngine::inputMethodReset()

Wird ausgegeben, wenn die Eingabemethode zurückgesetzt werden muss.

Hinweis: Dieses Signal wird automatisch mit QVirtualKeyboardAbstractInputMethod::reset() und InputMethod::reset() verbunden, wenn die Eingabemethode aktiviert ist.

[signal] void QVirtualKeyboardInputEngine::inputMethodUpdate()

Hinweis: Dieses Signal wird automatisch mit QVirtualKeyboardAbstractInputMethod::update() und InputMethod::update() verbunden, wenn die Eingangsmethode aktiviert ist.

[signal] void QVirtualKeyboardInputEngine::inputModeChanged()

Zeigt an, dass sich der Eingabemodus geändert hat.

Hinweis: Meldesignal für die Eigenschaft inputMode.

QList<int> QVirtualKeyboardInputEngine::inputModes() const

Gibt die Liste der verfügbaren Eingabemodi zurück.

Hinweis: Getter-Funktion für die Eigenschaft inputModes.

[signal] void QVirtualKeyboardInputEngine::inputModesChanged()

Zeigt an, dass sich die verfügbaren Eingabemodi geändert haben.

Hinweis: Meldesignal für die Eigenschaft inputModes.

QList<int> QVirtualKeyboardInputEngine::patternRecognitionModes() const

Gibt eine Liste der unterstützten Mustererkennungsmodi zurück.

Hinweis: Getter-Funktion für die Eigenschaft patternRecognitionModes.

[signal, since QtQuick.VirtualKeyboard 2.0] void QVirtualKeyboardInputEngine::patternRecognitionModesChanged()

Zeigt an, dass sich die verfügbaren Mustererkennungsmodi geändert haben.

Hinweis: Benachrichtigungssignal für die Eigenschaft patternRecognitionModes.

Diese Funktion wurde in QtQuick.VirtualKeyboard 2.0 eingeführt.

Qt::Key QVirtualKeyboardInputEngine::previousKey() const

Gibt die zuvor aktive Taste zurück, oder Qt::Key_unknown, wenn keine Taste aktiv war.

Hinweis: Getter-Funktion für die Eigenschaft previousKey.

[signal] void QVirtualKeyboardInputEngine::previousKeyChanged(Qt::Key key)

Zeigt an, dass sich die vorherige key geändert hat.

Hinweis: Meldesignal für die Eigenschaft previousKey.

[invokable, since QtQuick.VirtualKeyboard 2.0] bool QVirtualKeyboardInputEngine::reselect(int cursorPosition, const QVirtualKeyboardInputEngine::ReselectFlags &reselectFlags)

Mit dieser Funktion wird versucht, ein Wort, das sich an der Adresse cursorPosition befindet, neu zu markieren. reselectFlags definiert die Regeln dafür, wie das Wort in Bezug auf die Cursorposition markiert werden soll.

Die Funktion gibt true zurück, wenn das Wort erfolgreich neu ausgewählt wurde.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Diese Funktion wurde in QtQuick.VirtualKeyboard 2.0 eingeführt.

void QVirtualKeyboardInputEngine::setInputMethod(QVirtualKeyboardAbstractInputMethod *inputMethod)

Legt inputMethod als die aktive Eingabemethode fest.

Hinweis: Setter-Funktion für die Eigenschaft inputMethod.

Siehe auch inputMethod().

[invokable, since QtQuick.VirtualKeyboard 2.0] QVirtualKeyboardTrace *QVirtualKeyboardInputEngine::traceBegin(int traceId, QVirtualKeyboardInputEngine::PatternRecognitionMode patternRecognitionMode, const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo)

Startet eine Trace-Interaktion mit der Input-Engine.

Die Ablaufverfolgung wird durch traceId eindeutig identifiziert. Die Eingabemaschine weist die ID dem Objekt QVirtualKeyboardTrace zu, wenn die Eingabemethode das Ereignis akzeptiert.

Die patternRecognitionMode gibt den Erkennungsmodus für das Muster an.

Wenn die aktuelle Eingabemethode das Ereignis akzeptiert, gibt sie ein QVirtualKeyboardTrace Objekt zurück, das mit dieser Interaktion verbunden ist. Wenn die Eingabemethode das Ereignis verwirft, gibt sie einen NULL-Wert zurück.

traceCaptureDeviceInfo liefert Informationen über das Quellgerät und traceScreenInfo liefert Informationen über den Bildschirmkontext.

Definitionsgemäß bleibt das Objekt QVirtualKeyboardTrace gültig, bis die Methode traceEnd() aufgerufen wird.

Die Trace-Interaktion wird durch den Aufruf der Methode traceEnd() beendet.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Diese Funktion wurde in QtQuick.VirtualKeyboard 2.0 eingeführt.

[invokable] bool QVirtualKeyboardInputEngine::traceEnd(QVirtualKeyboardTrace *trace)

Beendet die Trace-Interaktion mit dem Eingabegerät.

Das Objekt trace kann nach dem Aufruf dieser Funktion jederzeit verworfen werden.

Die Funktion gibt true zurück, wenn die Trace-Interaktion akzeptiert wurde (d.h. die Touch-Ereignisse sollten nicht für etwas anderes verwendet werden).

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] void QVirtualKeyboardInputEngine::virtualKeyCancel()

Stellt den Zustand der aktiven Taste wieder her, ohne das Tastenereignis auszulösen. Diese Methode ist nützlich, wenn der Benutzer die aktuelle Taste verwirft und der Tastenstatus wiederhergestellt werden muss.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] bool QVirtualKeyboardInputEngine::virtualKeyClick(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)

Sendet ein Tastenklick-Ereignis für die angegebenen key, text und modifiers. Gibt true zurück, wenn das Tastenereignis von der Eingabe-Engine akzeptiert wurde.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[signal] void QVirtualKeyboardInputEngine::virtualKeyClicked(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool isAutoRepeat)

Zeigt an, dass das virtuelle key mit den angegebenen text und modifiers angeklickt wurde. Das isAutoRepeat gibt an, ob das Ereignis automatisch wiederholt wird, während die Taste gedrückt wird. Dieses Signal wird ausgegeben, nachdem die Eingabemethode das Tastenereignis verarbeitet hat.

[invokable] bool QVirtualKeyboardInputEngine::virtualKeyPress(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers, bool repeat)

Wird von der Tastaturebene aufgerufen, um anzuzeigen, dass key mit den angegebenen text und modifiers gedrückt wurde.

Die Taste key wird als aktive Taste (Abwärtstaste) festgelegt. Das eigentliche Tastenereignis wird ausgelöst, wenn die Taste mit der Methode virtualKeyRelease() losgelassen wird. Das Ereignis des Tastendrucks kann durch den Aufruf von virtualKeyCancel() verworfen werden.

Der Tastendruck löst auch den Timer für die Tastenwiederholung aus, wenn repeat true ist.

Gibt true zurück, wenn die Taste von diesem Eingabegerät akzeptiert wurde.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Siehe auch virtualKeyCancel() und virtualKeyRelease().

[invokable] bool QVirtualKeyboardInputEngine::virtualKeyRelease(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)

Gibt die Taste unter key frei. Die Methode gibt ein Schlüsselereignis für die Eingabemethode aus, wenn das Ereignis nicht durch einen sich wiederholenden Zeitgeber erzeugt wurde. Die Werte text und modifiers werden an die Eingabemethode übergeben.

Gibt true zurück, wenn der Schlüssel von der Eingabemaschine akzeptiert wurde.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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