Leitfaden für den Einsatz
Übersicht
Dieses Dokument beschreibt, wie das Qt Virtual Keyboard Plugin in Qt-Anwendungen eingesetzt und verwendet wird.
Bereitstellung
Die verschiedenen Qt Virtual Keyboard Plugins und Dateien werden an den folgenden Orten bereitgestellt:
Artikel | Desktop-Installationspfad | Boot2Qt-Installationspfad |
---|---|---|
qtvirtualkeyboardplugin Plattform-Eingabekontext-Plugin | <QT_INSTALL_PLUGINS>/platforminputcontexts | /system/plugins/platforminputcontexts |
qtvkbplugin QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard | /system/qml/QtQuick/VirtualKeyboard |
qtvkbKomponenten-Plugin QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Components | /system/qml/QtQuick/VirtualKeyboard/Components |
qtvkblayoutsplugin QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Layouts | /system/qml/QtQuick/VirtualKeyboard/Layouts |
qtvkbpluginsplugin QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins | /system/qml/QtQuick/VirtualKeyboard/Plugins |
Erweiterung QML-Plugins | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins/* | /system/qml/QtQuick/VirtualKeyboard/Plugins/* |
qtvkbsettingsplugin QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Settings | /system/qml/QtQuick/VirtualKeyboard/Settings |
qtvkbstylesplugin QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Styles | /system/qml/QtQuick/VirtualKeyboard/Styles |
Virtuelle Tastaturdaten | <QT_INSTALL_DATA>/qtvirtualkeyboard | /system/qtvirtualkeyboard |
Abhängigkeiten
Lesen Sie mehr unter Einsatz von Qt-Bibliotheken.
Integrations-Methode
Qt Virtual Keyboard Qtvkbstyles unterstützt derzeit zwei alternative Integrationsmethoden für die Verwendung des Plugins:
Desktop
: Erfordert keine Änderungen an bestehenden Anwendungen. Die virtuelle Tastatur ist für alle Qt-Anwendungen im System verfügbar.Bei dieser Integrationsmethode wird die Tastatur in einem eigenen Fenster auf oberster Ebene angezeigt.
Application
Die virtuelle Tastatur wird in die Qt-Anwendung selbst eingebettet, indem ein InputPanel -Element in QML instanziiert wird.Diese Methode ist obligatorisch in Umgebungen, in denen es keine Unterstützung für mehrere Top-Level-Fenster gibt (wie z.B. bei eingebetteten Geräten), kann aber auch in Desktop-Anwendungen verwendet werden.
Diese Methode kann auch von Qt Wayland Compositors verwendet werden, um eine serverseitige virtuelle Tastatur bereitzustellen. Siehe den Abschnitt unten für Details.
Die Integrationsmethode wird automatisch in den Projektdateien ausgewählt. In Desktop-Umgebungen ist es jedoch möglich, die Desktop-Integrationsmethode außer Kraft zu setzen und stattdessen die Anwendungsintegrationsmethode zu verwenden, indem Sie die Umgebungsvariable QT_VIRTUALKEYBOARD_DESKTOP_DISABLE
verwenden oder -no-vkb-desktop
zur Befehlszeile configure
hinzufügen.
Verwendung von Qt Virtual Keyboard mit Qt Wayland
In diesem Abschnitt wird erklärt, wie Qt Virtual Keyboard verwendet wird, um mit dem BeispielQt Widgets Line Edits zu interagieren, wobei das Beispiel Fancy Compositor als Compositor verwendet wird.
Wir werden Ubuntu 18.04 verwenden, um das Beispiel auszuführen, wobei X11 als Fenstersystem verwendet wird. Der Beispiel-Compositor (fancy-compositor
) wird als Fenster innerhalb einer X11-Sitzung geöffnet.
- Starten Sie den Compositor:
QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl \ QT_IM_MODULE=qtvirtualkeyboard ./fancy-compositor -platform xcb
- Bevor Sie die Client-Anwendung starten, stellen Sie sicher, dass QT_IM_MODULE nicht gesetzt ist:
unset QT_IM_MODULE
- Starten Sie das Line Edits-Beispiel als Client:
./lineedits -platform wayland
- Klicken Sie auf eine Zeilenbearbeitung und das Eingabefenster von Qt Virtual Keyboard wird geöffnet.
Wenn Probleme auftreten, können die folgenden Umgebungsvariablen beim Ausführen des Compositors gesetzt werden, um Debug-Ausgaben zu erhalten, die bei der Diagnose des Problems helfen können:
WAYLAND_DEBUG=1 QT_LOGGING_RULES="qt.virtualkeyboard=true;qt.qpa.wayland*=true"
Laden des Plugins
Bei beiden Integrationsmethoden muss die Anwendung die Umgebungsvariable QT_IM_MODULE
verwenden, um das Plugin zu laden. Zum Beispiel:
$ QT_IM_MODULE=qtvirtualkeyboard myapp
oder in der main()-Funktion:
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
Bei der Desktop-Integrationsmethode ist dieser Schritt alles, was für die Verwendung von Qt Virtual Keyboard erforderlich ist. Bei der Anwendungsintegrationsmethode muss die Anwendung eine Instanz von InputPanel erstellen, wie im folgenden Kapitel erläutert.
Erstellen eines InputPanels
Das folgende Beispiel zeigt, wie ein InputPanel erstellt wird und wie der Bildschirmbereich mit dem Anwendungscontainer geteilt werden kann.
import QtQuick import QtQuick.VirtualKeyboard Item { id: root Item { id: appContainer anchors.left: parent.left anchors.top: parent.top anchors.right: parent.right anchors.bottom: inputPanel.top ... } InputPanel { id: inputPanel y: Qt.inputMethod.visible ? parent.height - inputPanel.height : parent.height anchors.left: parent.left anchors.right: parent.right } }
Das InputPanel muss ein Geschwisterelement neben dem Anwendungscontainer sein. Es ist wichtig, das Eingabefeld nicht innerhalb des Anwendungscontainers zu platzieren, da es sich dann mit dem Inhalt der Anwendung überlappen würde. Außerdem wird die Höhe des Eingabefeldes automatisch entsprechend der verfügbaren Breite aktualisiert; das Seitenverhältnis des Eingabefeldes ist konstant.
Umgebungsvariablen
Es gibt mehrere vom Modul definierte Umgebungsvariablen, die im Folgenden aufgeführt sind:
Variable | Zweck |
---|---|
QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH | Setzt den Speicherort der Hunspell-Datendateien außer Kraft. Der Standardspeicherort hängt vom Wert von Siehe Hunspell Integration für weitere Informationen. |
QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY | Setzt den Speicherort des Pinyin-Wörterbuchs außer Kraft. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins gebündelt. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie -vkb-no-bundle-pinyin in die Qt configure Befehlszeile ein. In diesem Szenario hängt der Standard-Speicherort vom Wert von |
QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY | Setzt den Speicherort des Cangjie-Wörterbuchs außer Kraft. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins gebündelt. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie -vkb-no-bundle-tcime in die Qt configure Kommandozeile ein. In diesem Szenario hängt der Standard-Speicherort vom Wert von |
QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY | Setzt den Speicherort des Zhuyin-Wörterbuchs außer Kraft. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins gebündelt. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie -vkb-no-bundle-tcime zur Qt configure Kommandozeile hinzu. In diesem Szenario hängt der Standard-Speicherort vom Wert von |
QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY | Setzt den Speicherort des Phrasenwörterbuchs außer Kraft. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins gebündelt. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie -vkb-no-bundle-tcime zur Qt configure Kommandozeile hinzu. In diesem Szenario hängt der Standard-Speicherort vom Wert von |
QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH | Gibt den Speicherort der Cerence Handwriting Handschriftdatenbank an. Der Standard-Suchpfad für die Cerence Handwriting Handschrift-Datenbank ist:
Die Umgebungsvariable kann mehrere Pfade enthalten. Mehrere Pfade werden unter Windows mit Semikolon und unter anderen Betriebssystemen mit Doppelpunkt getrennt. |
QT_VIRTUALKEYBOARD_XT9_LDB_PFAD | Gibt den Speicherort der XT9-Datenbanken an. Der Standard-Suchpfad für LDB-Dateien ist:
Zusätzliche Suchpfade können durch Setzen dieser Umgebungsvariablen angegeben werden. Mehrere Pfade werden unter Windows mit Semikolon und unter anderen Betriebssystemen mit Doppelpunkt getrennt. Die LDB-Dateien werden von den Plugins XT9 und Cerence Handwriting gemeinsam genutzt, daher wirkt sich diese Umgebungsvariable auf beide Plugins aus. |
QT_VIRTUALKEYBOARD_STYLE | Gibt den Speicherort des Stils an, der für die virtuelle Tastatur verwendet werden soll. Dies kann auch in QML durch die Einstellung VirtualKeyboardSettings::styleName oder zur Erstellungszeit mit Hilfe der Konfigurationsoptionen festgelegt werden. |
QT_VIRTUELLE-TASTATUR_LAYOUT_PFAD | Gibt den Speicherort der Layouts an, die mit der virtuellen Tastatur verwendet werden sollen. |
QT_VIRTUALKEYBOARD_DESKTOP_DISABLE | Deaktiviert die Desktop-Integrationsmethode. |
QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS | Ermöglicht Qt Virtual Keyboard, Tastenereignisse zu senden und die Umschalttaste zu verwenden, ohne dass eine Texteingabe im Fokus ist. Diese Variable muss explizit in der Laufzeitumgebung einer Anwendung gesetzt werden, die davon profitieren möchte. Die Verwendung von qputenv() in der Anwendung selbst ist nicht ausreichend. |
© 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.