Bereitstellungshandbuch
Übersicht
Dieses Dokument beschreibt, wie das Qt Virtual Keyboard -Plugin in Qt-Anwendungen bereitgestellt und verwendet wird.
Bereitstellung
Die verschiedenen „ Qt Virtual Keyboard “-Plugins und -Dateien werden an folgenden Speicherorten bereitgestellt:
| Element | Installationspfad auf dem Desktop | Installationspfad für Boot2Qt |
|---|---|---|
| qtvirtualkeyboardplugin – Plugin für den Plattform-Eingabekontext | <QT_INSTALL_PLUGINS>/platforminputcontexts | /system/plugins/platforminputcontexts |
| qtvkbplugin – QML-Plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard | /system/qml/QtQuick/VirtualKeyboard |
| qtvkbcomponentsplugin 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 |
| Daten zur virtuellen Tastatur | <QT_INSTALL_DATA>/qtvirtualkeyboard | /system/qtvirtualkeyboard |
Abhängigkeiten
Weitere Informationen finden Sie unter „Bereitstellung der Qt-Bibliotheken“.
Integrationsmethode
Qt Virtual Keyboard Derzeit werden zwei alternative Integrationsmethoden für die Nutzung des Plugins unterstützt:
Desktop: Erfordert keine Änderungen an bestehenden Anwendungen. Die virtuelle Tastatur steht allen Qt-Anwendungen im System zur Verfügung.Bei dieser Integrationsmethode wird die Tastatur in einem eigenen Fenster auf oberster Ebene angezeigt.
Application: Die virtuelle Tastatur wird durch die Instanziierung eines „ InputPanel “-Elements in QML in die Qt-Anwendung selbst eingebettet.Diese Methode ist in Umgebungen obligatorisch, in denen keine Unterstützung für mehrere Top-Level-Fenster vorhanden ist (z. B. auf eingebetteten Geräten), kann aber auch in Desktop-Anwendungen verwendet werden.
Diese Methode kann auch von Qt Wayland Compositoren verwendet werden, um eine serverseitige virtuelle Tastatur bereitzustellen. Weitere Informationen finden Sie im folgenden Abschnitt.
Die Integrationsmethode wird automatisch durch die Projektdateien ausgewählt. In Desktop-Umgebungen ist es jedoch möglich, die Desktop-Integrationsmethode zu überschreiben und stattdessen die Anwendungsintegrationsmethode zu verwenden, indem die Umgebungsvariable ` QT_VIRTUALKEYBOARD_DESKTOP_DISABLE ` gesetzt wird oder ` -no-vkb-desktop ` zur Befehlszeile ` configure ` hinzugefügt wird.
Verwendung von „ Qt Virtual Keyboard “ mit Qt Wayland
In diesem Abschnitt wird erläutert, wie man „ Qt Virtual Keyboard “ verwendet, um mit dem Beispiel „Qt Widgets Line Edits“ zu interagieren, wobei das Beispiel „Fancy Compositor“ als Compositor dient.
Wir verwenden Ubuntu 18.04 zum Ausführen des Beispiels und nutzen X11 als Fenstersystem. 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 - Stellen Sie vor dem Ausführen der Client-Anwendung sicher, dass QT_IM_MODULE nicht gesetzt ist:
unset QT_IM_MODULE - Starten Sie das Beispiel „Line Edits“ als Client:
./lineedits -platform wayland - Klicken Sie auf ein Zeileneingabefeld, und das Eingabefenster von „ Qt Virtual Keyboard “ wird geöffnet.
Sollten Probleme auftreten, können beim Ausführen des Compositors die folgenden Umgebungsvariablen gesetzt werden, um eine Debug-Ausgabe zu erhalten, die bei der Fehlerdiagnose helfen kann:
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 myappoder in der Funktion `main()`:
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));Bei der Desktop-Integrationsmethode ist dieser Schritt alles, was erforderlich ist, um „ Qt Virtual Keyboard “ zu verwenden. Bei der Anwendungsintegrationsmethode muss die Anwendung eine Instanz von „ InputPanel “ erstellen, wie im folgenden Kapitel erläutert wird.
Erstellen eines InputPanels
Das folgende Beispiel zeigt, wie ein „ InputPanel “ erstellt und der Bildschirmbereich mit dem Anwendungscontainer aufgeteilt wird.
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 Eingabefeld muss ein gleichrangiges Element neben dem Anwendungscontainer sein. Es ist wichtig, das Eingabefeld nicht innerhalb des Anwendungscontainers zu platzieren, da es sich sonst mit dem Inhalt der Anwendung überschneiden würde. Außerdem wird die Höhe des Eingabefelds automatisch entsprechend der verfügbaren Breite angepasst; das Seitenverhältnis des Eingabefelds bleibt dabei konstant.
Plugin-Parameter
Einige Parameter können durch Anhängen an den Wert des „ QT_IM_MODULE “ (nach einem Doppelpunkt) angegeben werden, zum Beispiel QT_IM_MODULE=qtvirtualkeyboard:wordCandidateListVisible. Einige Parameter sind Schlüssel-Wert-Paare, die durch "=" getrennt sind.
| Parameter | Zweck |
|---|---|
| wordCandidateListVisible | Zeigt die Wortvorschlagsliste an. |
| wordCandidateListAutoCommitWord | Aktiviert die automatische Bestätigung für die Wortvorschlagsliste. |
| fullScreen | Vollbildmodus verwenden |
| style=<name> | Stil festlegen |
| locale=<Name> | Ländereinstellung festlegen |
Umgebungsvariablen
Das Modul definiert mehrere Umgebungsvariablen, die im Folgenden aufgeführt sind:
| Variable | Zweck |
|---|---|
| QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH | Überschreibt den Speicherort der Hunspell-Datendateien. Der Standardpfad hängt vom Wert von ` Weitere Informationen finden Sie unter „Hunspell-Integration “. |
| QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY | Überschreibt den Speicherort des Pinyin-Wörterbuchs. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins enthalten. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie „-vkb-no-bundle-pinyin“ zur Qt-Konfigurationsbefehlszeile hinzu. In diesem Fall hängt der Standardspeicherort vom Wert von „ |
| QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY | Überschreibt den Speicherort des Cangjie-Wörterbuchs. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins enthalten. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie „-vkb-no-bundle-tcime“ zur Qt-Konfigurationsbefehlszeile hinzu. In diesem Fall hängt der Standardspeicherort vom Wert von „ |
| QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY | Überschreibt den Speicherort des Zhuyin-Wörterbuchs. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins enthalten. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie „-vkb-no-bundle-tcime“ zur Qt-Konfigurationsbefehlszeile hinzu. In diesem Fall hängt der Standardspeicherort vom Wert von „ |
| QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY | Überschreibt den Speicherort des Phrasenwörterbuchs. Standardmäßig ist das Wörterbuch in den Ressourcen des Plugins enthalten. Um die Bündelung der Ressourcen zu deaktivieren, fügen Sie „-vkb-no-bundle-tcime“ zur Qt-Konfigurationsbefehlszeile hinzu. In diesem Fall hängt der Standardspeicherort vom Wert von „ |
| QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH | Gibt den Speicherort der Cerence Handwriting-Handschriftdatenbank an. Die Standard-Suchpfade für die Cerence Handwriting-Handschriftdatenbank lauten:
Die Umgebungsvariable kann mehrere Pfade enthalten. Mehrere Pfade werden unter Windows durch ein Semikolon und unter anderen Betriebssystemen durch einen Doppelpunkt getrennt. |
| QT_VIRTUALKEYBOARD_XT9_LDB_PATH | Gibt den Speicherort der XT9-Datenbanken an. Die Standard-Suchpfade für LDB-Dateien sind:
Durch Setzen dieser Umgebungsvariablen können zusätzliche Suchpfade angegeben werden. Mehrere Pfade werden unter Windows durch Semikolons und unter anderen Betriebssystemen durch Doppelpunkte getrennt. Die LDB-Dateien werden von den Plugins „XT9“ und „Cerence Handwriting“ gemeinsam genutzt, sodass diese Umgebungsvariable Auswirkungen auf beide Plugins hat. |
| QT_VIRTUALKEYBOARD_STYLE | Gibt den Speicherort des Stils an, der mit der virtuellen Tastatur verwendet werden soll. Dies kann auch in QML durch Setzen von ` VirtualKeyboardSettings::styleName` oder zur Kompilierungszeit über die Konfigurationsoptionen festgelegt werden. |
| QT_VIRTUALKEYBOARD_LAYOUT_PATH | 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 | Aktiviert „ Qt Virtual Keyboard “, um Tastenereignisse zu senden und die Umschalttaste zu verwenden, ohne dass eine Texteingabe im Fokus steht. Diese Variable muss in der Ausführungsumgebung einer Anwendung, die davon profitieren möchte, explizit gesetzt werden. Die Verwendung von ` qputenv()` in der Anwendung selbst reicht nicht aus. |
© 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.