Auf dieser Seite

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:

ElementInstallationspfad auf dem DesktopInstallationspfad 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.

  1. 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
  2. Stellen Sie vor dem Ausführen der Client-Anwendung sicher, dass QT_IM_MODULE nicht gesetzt ist:
    unset QT_IM_MODULE
  3. Starten Sie das Beispiel „Line Edits“ als Client:
    ./lineedits -platform wayland
  4. 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 myapp

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

ParameterZweck
wordCandidateListVisibleZeigt die Wortvorschlagsliste an.
wordCandidateListAutoCommitWordAktiviert die automatische Bestätigung für die Wortvorschlagsliste.
fullScreenVollbildmodus verwenden
style=<name>Stil festlegen
locale=<Name>Ländereinstellung festlegen

Umgebungsvariablen

Das Modul definiert mehrere Umgebungsvariablen, die im Folgenden aufgeführt sind:

VariableZweck
QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATHÜberschreibt den Speicherort der Hunspell-Datendateien.

Der Standardpfad hängt vom Wert von ` QLibraryInfo::path(QLibraryInfo::DataPath)` ab. Bei aus dem Quellcode kompilierten Qt-Bibliotheken könnte er beispielsweise ` qtbase/qtvirtualkeyboard/hunspell` lauten.

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 „ QLibraryInfo::path(QLibraryInfo::DataPath) “ ab. Bei aus dem Quellcode kompilierten Qt-Bibliotheken könnte dies beispielsweise „ qtbase/qtvirtualkeyboard/pinyin/dict_pinyin.dat “ sein.

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 „ QLibraryInfo::path(QLibraryInfo::DataPath) “ ab. Bei aus dem Quellcode kompilierten Qt-Bibliotheken könnte dies beispielsweise „ qtbase/qtvirtualkeyboard/tcime/dict_cangjie.dat “ sein.

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 „ QLibraryInfo::path(QLibraryInfo::DataPath) “ ab. Bei aus dem Quellcode kompilierten Qt-Bibliotheken könnte dies beispielsweise „ qtbase/qtvirtualkeyboard/tcime/dict_zhuyin.dat “ sein.

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 „ QLibraryInfo::path(QLibraryInfo::DataPath) “ ab. Bei aus dem Quellcode kompilierten Qt-Bibliotheken könnte dies beispielsweise „ qtbase/qtvirtualkeyboard/tcime/dict_phrases.dat “ sein.

QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATHGibt den Speicherort der Cerence Handwriting-Handschriftdatenbank an.

Die Standard-Suchpfade für die Cerence Handwriting-Handschriftdatenbank lauten:

  • QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH
  • QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/cerence/handwriting"
  • ":/qt-project.org/imports/QtQuick/VirtualKeyboard/Cerence/Handwriting"

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_PATHGibt den Speicherort der XT9-Datenbanken an.

Die Standard-Suchpfade für LDB-Dateien sind:

  • QT_VIRTUALKEYBOARD_XT9_LDB_PATH
  • QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/cerence/xt9"
  • ":/qt-project.org/imports/QtQuick/VirtualKeyboard/Cerence/Xt9"

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_STYLEGibt 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_PATHGibt den Speicherort der Layouts an, die mit der virtuellen Tastatur verwendet werden sollen.
QT_VIRTUALKEYBOARD_DESKTOP_DISABLEDeaktiviert die Desktop-Integrationsmethode.
QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUSAktiviert „ 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.