QInputMethod Class
Die Klasse „QInputMethod“ ermöglicht den Zugriff auf die aktive Texteingabemethode. Mehr...
| Header: | #include <QInputMethod> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QObject |
Öffentliche Typen
| enum | Action { Click, ContextMenu } |
Eigenschaften
|
|
Öffentliche Funktionen
| QRectF | anchorRectangle() const |
| QRectF | cursorRectangle() const |
| Qt::LayoutDirection | inputDirection() const |
| QRectF | inputItemClipRectangle() const |
| QRectF | inputItemRectangle() const |
| QTransform | inputItemTransform() const |
| bool | isAnimating() const |
| bool | isVisible() const |
| QRectF | keyboardRectangle() const |
| QLocale | locale() const |
| void | setInputItemRectangle(const QRectF &rect) |
| void | setInputItemTransform(const QTransform &transform) |
| void | setVisible(bool visible) |
Öffentliche Slots
| void | commit() |
| void | hide() |
| void | invokeAction(QInputMethod::Action a, int cursorPosition) |
| void | reset() |
| void | show() |
| void | update(Qt::InputMethodQueries queries) |
Signale
| void | anchorRectangleChanged() |
| void | animatingChanged() |
| void | cursorRectangleChanged() |
| void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
| void | inputItemClipRectangleChanged() |
| void | keyboardRectangleChanged() |
| void | localeChanged() |
| void | visibleChanged() |
Statische öffentliche Mitglieder
| QVariant | queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument) |
Ausführliche Beschreibung
QInputMethod wird von Texteditoren zur Integration in die Texteingabemethoden der Plattform verwendet und häufiger noch von Anwendungsansichten zum Abfragen verschiedener Informationen im Zusammenhang mit Texteingabemethoden, wie z. B. die Sichtbarkeit der virtuellen Tastatur und die Abmessungen der Tastatur.
Qt Quick Bietet außerdem Zugriff auf QInputMethod in QML über ` Qt global object ` als Eigenschaft ` Qt.inputMethod `.
Dokumentation zum Mitgliedstyp
enum QInputMethod::Action
Gibt die Art der vom Benutzer ausgeführten Aktion an.
| Konstante | Wert | Beschreibung |
|---|---|---|
QInputMethod::Click | 0 | Ein normaler Klick/Tipp |
QInputMethod::ContextMenu | 1 | Ein Klick/Tippen auf das Kontextmenü (z. B. rechte Maustaste oder Tippen und Halten) |
Siehe auch „ invokeAction()“.
Dokumentation zur Eigenschaft
[read-only] anchorRectangle : QRectF
Gibt das Ankerrechteck des Eingabeelements in Fensterkoordinaten an.
Das Ankerrechteck wird häufig von verschiedenen Textbearbeitungselementen wie Popups zur Textvorhersage verwendet, um der Textauswahl zu folgen.
Zugriffsfunktionen:
| QRectF | anchorRectangle() const |
Notifier-Signal:
| void | anchorRectangleChanged() |
[read-only] animating : bool
Wahr, wenn die virtuelle Tastatur geöffnet oder geschlossen wird.
„Animating“ ist „false“, wenn die Tastatur vollständig geöffnet oder geschlossen ist. Wenn „ animating “ den Wert „ true “ und „ visibility “ den Wert „ true “ hat, wird die Tastatur gerade geöffnet. Wenn „ animating “ den Wert „ true “ und „ visibility “ den Wert „false“ hat, wird die Tastatur gerade geschlossen.
Zugriffsfunktionen:
| bool | isAnimating() const |
Notifier-Signal:
| void | animatingChanged() |
[read-only] cursorRectangle : QRectF
Cursorrechteck des Eingabefelds in Fensterkoordinaten.
Das Cursorrechteck wird häufig von verschiedenen Textbearbeitungssteuerelementen wie Popups zur Textvorhersage verwendet, um dem eingegebenen Text zu folgen.
Zugriffsfunktionen:
| QRectF | cursorRectangle() const |
Notifier-Signal:
| void | cursorRectangleChanged() |
[read-only] inputDirection : Qt::LayoutDirection
Aktuelle Eingaberichtung.
Zugriffsfunktionen:
| Qt::LayoutDirection | inputDirection() const |
Benachrichtigungssignal:
| void | inputDirectionChanged(Qt::LayoutDirection newDirection) |
[read-only] inputItemClipRectangle : QRectF
Das beschnittene Rechteck des Eingabeelements in Fensterkoordinaten.
Das beschnittene Eingaberechteck wird häufig von verschiedenen Eingabemethoden verwendet, um zu bestimmen, wie viel Platz auf dem Bildschirm für die jeweilige Eingabemethode (z. B. die virtuelle Tastatur) zur Verfügung steht.
Zugriffsfunktionen:
| QRectF | inputItemClipRectangle() const |
Notifier-Signal:
| void | inputItemClipRectangleChanged() |
[read-only] keyboardRectangle : QRectF
Geometrie der virtuellen Tastatur in Fensterkoordinaten.
Dies kann ein leeres Rechteck sein, wenn die Geometrie der Tastatur nicht bekannt ist. Dies ist bei einer schwebenden Tastatur unter Android der Fall.
Zugriffsfunktionen:
| QRectF | keyboardRectangle() const |
Notifier-Signal:
| void | keyboardRectangleChanged() |
[read-only] locale : QLocale
Aktuelle Eingabesprachumgebung.
Zugriffsfunktionen:
| QLocale | locale() const |
Benachrichtigungssignal:
| void | localeChanged() |
[read-only] visible : bool
Sichtbarkeit der virtuellen Tastatur auf dem Bildschirm
Bei Geräten ohne virtuelle Tastatur bleibt die Sichtbarkeit der Eingabemethode auf „false“ gesetzt.
Zugriffsfunktionen:
| bool | isVisible() const |
Benachrichtigungssignal:
| void | visibleChanged() |
Dokumentation der Mitgliedsfunktionen
[slot] void QInputMethod::commit()
Überträgt das Wort, das der Benutzer gerade verfasst, in den Editor. Die Funktion wird vor allem von Eingabemethoden mit Textvorhersagefunktionen sowie von Methoden benötigt, bei denen sich das zur Eingabe von Zeichen verwendete Skript von dem Skript unterscheidet, das tatsächlich an den Editor angehängt wird. Jede Aktion, die die Texteingabe unterbricht, muss den Eingabezustand durch Aufruf der Funktion `commit()` zurücksetzen, beispielsweise wenn der Cursor an eine andere Stelle bewegt wird.
[slot] void QInputMethod::hide()
Fordert das Schließen der virtuellen Tastatur an.
Normalerweise sollten Anwendungen diese Funktion nicht aufrufen müssen; die Tastatur sollte sich automatisch schließen, wenn der Texteditor den Fokus verliert, beispielsweise wenn die übergeordnete Ansicht geschlossen wird.
QRectF QInputMethod::inputItemRectangle() const
Gibt die Geometrie des Eingabeelements in den Koordinaten des Eingabeelements zurück.
Siehe auch „ setInputItemRectangle()“.
QTransform QInputMethod::inputItemTransform() const
Gibt die Transformation von den Koordinaten der Eingabeelemente in die Fensterkoordinaten zurück.
Siehe auch „ setInputItemTransform()“.
[slot] void QInputMethod::invokeAction(QInputMethod::Action a, int cursorPosition)
Wird vom Eingabeelement aufgerufen, wenn der Benutzer auf das gerade eingegebene Wort tippt, wie durch die Aktion „ a “ und die angegebene „ cursorPosition “ angegeben. Eingabemethoden nutzen diese Informationen häufig, um dem Benutzer weitere Wortvorschläge anzubieten.
[static] QVariant QInputMethod::queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)
Rufe die Funktion „ query “ für das aktuell fokussierte Objekt mit den Parametern „ argument “ auf und gib das Ergebnis zurück.
[slot] void QInputMethod::reset()
Setzt den Status der Eingabemethode zurück. Beispielsweise ruft ein Texteditor diese Methode normalerweise vor dem Einfügen von Text auf, um das Widget für die Texteingabe vorzubereiten.
Die Eingabemethode wird automatisch zurückgesetzt, wenn sich der Editor mit Fokus ändert.
void QInputMethod::setInputItemRectangle(const QRectF &rect)
Legt die Geometrie des Eingabeelements auf ` rect` fest, bezogen auf die Koordinaten des Eingabeelements. Dies muss vom Fenster mit Fokus – beispielsweise von QQuickCanvas – aktualisiert werden, sobald das Element innerhalb der Szene verschoben wird oder der Fokus wechselt.
Siehe auch ` inputItemRectangle()`.
void QInputMethod::setInputItemTransform(const QTransform &transform)
Legt die Transformation von den Koordinaten der Eingabeelemente in Fensterkoordinaten fest auf transform. Die Elementtransformation muss vom aktiven Fenster – beispielsweise QQuickCanvas – aktualisiert werden, sobald ein Element innerhalb der Szene verschoben wird.
Siehe auch ` inputItemTransform()`.
void QInputMethod::setVisible(bool visible)
Steuert die Sichtbarkeit der Tastatur. Entspricht dem Aufruf von ` show()` (wenn ` visible ` auf ` true` gesetzt ist) oder ` hide()` (wenn ` visible ` auf ` false` gesetzt ist).
Siehe auch isVisible(), show() und hide().
[slot] void QInputMethod::show()
Fordert das Öffnen der virtuellen Tastatur an. Wenn die Plattform keine virtuelle Tastatur bereitstellt, bleibt die Sichtbarkeit auf „false“ gesetzt.
Normalerweise sollten Anwendungen diese Funktion nicht aufrufen müssen; die Tastatur sollte sich automatisch öffnen, sobald der Texteditor den Fokus erhält.
[slot] void QInputMethod::update(Qt::InputMethodQueries queries)
Wird vom Eingabeelement aufgerufen, um die Eingabemethoden der Plattform darüber zu informieren, wenn sich der Status der Abfrageattribute der Eingabemethode des Editors geändert hat. Beim Aufruf der Funktion muss der Parameter „ queries “ verwendet werden, um anzugeben, was sich geändert hat; die Eingabemethode kann damit über „ QInputMethodQueryEvent “ Abfragen zu den Attributen durchführen, die für sie von Interesse sind.
Insbesondere ist es wichtig, „update“ immer dann aufzurufen, wenn sich die Cursorposition ändert, da dies häufig dazu führt, dass sich auch andere Abfrageattribute wie der umgebende Text und die Textauswahl ändern. Die Attribute, die sich häufig zusammen mit der Cursorposition ändern, wurden der Einfachheit halber im Wert von „ Qt::ImQueryInput “ zusammengefasst.
© 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.