Guide de déploiement
Vue d'ensemble
Ce document décrit comment déployer et utiliser le plugin Qt Virtual Keyboard avec les applications Qt.
Déploiement
Les différents plugins et fichiers de Qt Virtual Keyboard sont déployés aux endroits suivants :
| Élément | Chemin d'installation sur le bureau | Chemin d'installation de Boot2Qt |
|---|---|---|
| qtvirtualkeyboardplugin plugin de contexte d'entrée de plate-forme | <QT_INSTALL_PLUGINS>/platforminputcontexts | /system/plugins/platforminputcontexts |
| qtvkbplugin plugin QML | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard | /system/qml/QtQuick/VirtualKeyboard |
| qtvkbcomponentsplugin QML plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Components | /system/qml/QtQuick/VirtualKeyboard/Components |
| qtvkblayoutsplugin plugin QML | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Layouts | /system/qml/QtQuick/VirtualKeyboard/Layouts |
| qtvkbpluginsplugin plugin QML | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins | /system/qml/QtQuick/VirtualKeyboard/Plugins |
| extension des plugins QML | <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 |
| Données du clavier virtuel | <QT_INSTALL_DATA>/qtvirtualkeyboard | /system/qtvirtualkeyboard |
Dépendances
Pour en savoir plus, consultez la page Déployer les bibliothèques de Qt.
Méthode d'intégration
Qt Virtual Keyboard Qtvkbstylesplugin supporte actuellement deux méthodes d'intégration alternatives pour l'utilisation du plugin :
DesktopLa première méthode d'intégration est la suivante : elle ne nécessite aucune modification des applications existantes. Le clavier virtuel est disponible pour toutes les applications Qt du système.Dans cette méthode d'intégration, le clavier est affiché dans une fenêtre de haut niveau dédiée.
ApplicationLe clavier virtuel est intégré dans l'application Qt elle-même par l'instanciation d'un élément InputPanel en QML.Cette méthode est obligatoire dans les environnements où il n'y a pas de prise en charge de plusieurs fenêtres de premier niveau (tels que les dispositifs embarqués), mais elle peut également être utilisée dans les applications de bureau.
Cette méthode peut également être utilisée par les compositeurs Qt Wayland afin de fournir un clavier virtuel côté serveur. Voir la section ci-dessous pour plus de détails.
La méthode d'intégration est automatiquement sélectionnée par les fichiers du projet. Cependant, dans les environnements de bureau, il est possible d'ignorer la méthode d'intégration du bureau et d'utiliser la méthode d'intégration de l'application à la place, en utilisant la variable d'environnement QT_VIRTUALKEYBOARD_DESKTOP_DISABLE, ou en ajoutant -no-vkb-desktop à la ligne de commande configure.
Utilisation de Qt Virtual Keyboard avec Qt Wayland
Cette section explique comment utiliser Qt Virtual Keyboard pour interagir avec l'exempleQt Widgets Line Edits en utilisant l'exemple Fancy Compositor comme compositeur.
Nous utiliserons Ubuntu 18.04 pour exécuter l'exemple, en utilisant X11 comme système de fenêtrage. Le compositeur de l'exemple (fancy-compositor) s'ouvrira comme une fenêtre dans une session X11.
- Démarrez le compositeur :
QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl \ QT_IM_MODULE=qtvirtualkeyboard ./fancy-compositor -platform xcb
- Avant de lancer l'application cliente, assurez-vous que QT_IM_MODULE est désactivé :
unset QT_IM_MODULE
- Lancez l'exemple d'édition de lignes en tant que client :
./lineedits -platform wayland
- Cliquez sur une modification de ligne et le panneau de saisie de Qt Virtual Keyboard s'ouvrira.
En cas de problème, les variables d'environnement suivantes peuvent être définies lors de l'exécution du compositeur afin d'obtenir une sortie de débogage qui peut aider à diagnostiquer le problème :
WAYLAND_DEBUG=1 QT_LOGGING_RULES="qt.virtualkeyboard=true;qt.qpa.wayland*=true"
Chargement du plugin
Dans les deux méthodes d'intégration, l'application doit utiliser la variable d'environnement QT_IM_MODULE pour charger le plugin. Par exemple :
$ QT_IM_MODULE=qtvirtualkeyboard myappou dans la fonction main() :
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
Dans la méthode d'intégration bureautique, cette étape suffit pour utiliser Qt Virtual Keyboard. Dans la méthode d'intégration des applications, l'application doit créer une instance de InputPanel comme expliqué dans le chapitre suivant.
Création d'un InputPanel
L'exemple suivant montre comment créer un InputPanel et comment diviser la zone d'écran avec le conteneur de l'application.
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 } }
Le panneau de saisie doit être un élément frère du conteneur d'application. Il est important de ne pas placer le panneau de saisie dans le conteneur de l'application, car il se superposerait alors au contenu de l'application. De plus, la hauteur du panneau de saisie sera automatiquement mise à jour en fonction de la largeur disponible ; le rapport d'aspect du panneau de saisie est constant.
Variables d'environnement
Plusieurs variables d'environnement définies par le module sont énumérées ci-dessous :
| Variable | Objectif |
|---|---|
| QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH | Remplace l'emplacement des fichiers de données Hunspell. L'emplacement par défaut dépend de la valeur de Voir Intégration Hunspell pour plus d'informations. |
| QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY | Remplace l'emplacement du dictionnaire Pinyin. Par défaut, le dictionnaire est intégré aux ressources du plugin. Pour désactiver le regroupement des ressources, ajoutez -vkb-no-bundle-pinyin à la ligne de commande Qt configure. Dans ce scénario, l'emplacement par défaut dépend de la valeur de |
| QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY | Remplace l'emplacement du dictionnaire Cangjie. Par défaut, le dictionnaire est intégré aux ressources du plugin. Pour désactiver le regroupement des ressources, ajoutez -vkb-no-bundle-tcime à la ligne de commande Qt configure. Dans ce scénario, l'emplacement par défaut dépend de la valeur de |
| QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY | Remplace l'emplacement du dictionnaire Zhuyin. Par défaut, le dictionnaire est intégré aux ressources du plugin. Pour désactiver le regroupement des ressources, ajoutez -vkb-no-bundle-tcime à la ligne de commande Qt configure. Dans ce scénario, l'emplacement par défaut dépend de la valeur de |
| QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY | Remplace l'emplacement du dictionnaire de phrases. Par défaut, le dictionnaire est intégré aux ressources du plugin. Pour désactiver le regroupement des ressources, ajoutez -vkb-no-bundle-tcime à la ligne de commande Qt configure. Dans ce scénario, l'emplacement par défaut dépend de la valeur de |
| QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH | Spécifie l'emplacement de la base de données d'écriture manuscrite Cerence Handwriting. L'emplacement de recherche par défaut de la base de données d'écriture manuscrite Cerence est le suivant :
La variable d'environnement peut contenir plusieurs chemins. Les chemins multiples sont séparés par un point-virgule dans Windows et par deux points dans les autres systèmes d'exploitation. |
| QT_VIRTUALKEYBOARD_XT9_LDB_PATH | Spécifie l'emplacement des bases de données XT9. L'emplacement de recherche par défaut pour les fichiers LDB est le suivant :
Des chemins de recherche supplémentaires peuvent être spécifiés en définissant cette variable d'environnement. Les chemins d'accès multiples sont séparés par un point-virgule dans Windows et par deux points dans les autres systèmes d'exploitation. Les fichiers LDB sont partagés entre les plugins XT9 et Cerence Handwriting, cette variable d'environnement affecte donc les deux plugins. |
| QT_VIRTUALKEYBOARD_STYLE | Spécifie l'emplacement du style à utiliser avec le clavier virtuel. Ceci peut également être spécifié dans QML en définissant VirtualKeyboardSettings::styleName, ou au moment de la construction en utilisant les options de configuration. |
| QT_VIRTUALKEYBOARD_LAYOUT_PATH | Spécifie l'emplacement des dispositions à utiliser avec le clavier virtuel. |
| QT_VIRTUALKEYBOARD_DESKTOP_DISABLE | Désactive la méthode d'intégration au bureau. |
| QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS | Permet à Qt Virtual Keyboard d'envoyer des événements de touches et d'utiliser la touche Shift sans qu'aucune entrée de texte ne soit au centre de l'attention. Cette variable doit être explicitement définie dans l'environnement d'exécution d'une application qui souhaite en bénéficier. L'utilisation de qputenv() dans l'application elle-même n'est pas suffisante. |
© 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.