Sur cette page

Guide de déploiement

Présentation

Ce document décrit comment déployer et utiliser le plugin « Qt Virtual Keyboard » avec des applications Qt.

Déploiement

Les différents plugins et fichiers d'Qt Virtual Keyboard sont déployés aux emplacements suivants :

ÉlémentChemin d'installation sur le bureauChemin d'installation de Boot2Qt
qtvirtualkeyboardplugin : plugin de contexte d'entrée de la plateforme<QT_INSTALL_PLUGINS>/platforminputcontexts/system/plugins/platforminputcontexts
Plugin QML « qtvkbplugin »<QT_INSTALL_QML>/QtQuick/VirtualKeyboard/system/qml/QtQuick/VirtualKeyboard
Plugin QML « qtvkbcomponentsplugin »<QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Components/system/qml/QtQuick/VirtualKeyboard/Components
Plugin QML « qtvkblayoutsplugin »<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
plugins QML d'extension<QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins/*/system/qml/QtQuick/VirtualKeyboard/Plugins/*
qtvkbsettingsplugin : plugin QML<QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Settings/system/qml/QtQuick/VirtualKeyboard/Settings
qtvkbstylesplugin : plugin QML<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 section Déploiement des bibliothèques Qt.

Méthode d'intégration

Qt Virtual Keyboard Prend actuellement en charge deux méthodes d'intégration alternatives pour l'utilisation du plugin :

  • Desktop: ne nécessite aucune modification des applications existantes. Le clavier virtuel est disponible pour toutes les applications Qt du système.

    Avec cette méthode d'intégration, le clavier s'affiche dans une fenêtre dédiée de premier plan.

  • Application: le clavier virtuel est intégré directement dans l'application Qt elle-même en instanciant un élément « InputPanel » dans QML.

    Cette méthode est obligatoire dans les environnements ne prenant pas en charge plusieurs fenêtres de premier niveau (tels que les appareils embarqués), mais peut également être utilisée dans les applications de bureau.

    Cette méthode peut également être utilisée par les Qt Wayland Compositors afin de fournir un clavier virtuel côté serveur. Reportez-vous à la section ci-dessous pour plus de détails.

La méthode d’intégration est automatiquement sélectionnée par les fichiers de projet. Cependant, dans les environnements de bureau, il est possible de remplacer la méthode d’intégration au bureau par la méthode d’intégration à l’application, soit en utilisant la variable d’environnement ` QT_VIRTUALKEYBOARD_DESKTOP_DISABLE `, soit 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’exemple «Qt 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 sous forme de fenêtre au sein d’une session X11.

  1. Lancez le compositeur :
    QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl \
    QT_IM_MODULE=qtvirtualkeyboard ./fancy-compositor -platform xcb
  2. Avant d'exécuter l'application cliente, assurez-vous que la variable QT_IM_MODULE n'est pas définie :
    unset QT_IM_MODULE
  3. Lancez l'exemple Line Edits en tant que client :
    ./lineedits -platform wayland
  4. Cliquez sur un champ de saisie et le panneau de saisie d'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 des informations de débogage permettant de 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 myapp

ou dans la fonction main() :

qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

Dans la méthode d’intégration au bureau, cette étape suffit pour utiliser Qt Virtual Keyboard. Dans la méthode d’intégration à l’application, celle-ci 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 d’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 situé à côté du conteneur d’application. Il est important de ne pas placer le panneau de saisie à l’intérieur du conteneur d’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 hauteur/largeur du panneau de saisie est constant.

Paramètres du plugin

Certains paramètres peuvent être spécifiés en les ajoutant à la valeur de l’ QT_IM_MODULE (après deux points), par exemple QT_IM_MODULE=qtvirtualkeyboard:wordCandidateListVisible. Certains paramètres sont des paires clé-valeur séparées par "=".

ParamètreObjectif
wordCandidateListVisibleAffiche la liste des mots candidats.
wordCandidateListAutoCommitWordActive la fonction AutoCommit pour la liste des mots proposés.
fullScreenUtiliser le mode plein écran
style=<nom>Définit le style
locale=<nom>Définir les paramètres régionaux

Variables d'environnement

Le module définit plusieurs variables d'environnement, répertoriées ci-dessous :

VariableObjectif
QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATHRemplace l'emplacement des fichiers de données Hunspell.

L'emplacement par défaut dépend de la valeur de ` QLibraryInfo::path(QLibraryInfo::DataPath)`. Par exemple, pour les bibliothèques Qt compilées à partir du code source, il pourrait s'agir de ` qtbase/qtvirtualkeyboard/hunspell`.

Voir Intégration de Hunspell pour plus d'informations.

QT_VIRTUALKEYBOARD_PINYIN_DICTIONARYRemplace l'emplacement du dictionnaire Pinyin.

Par défaut, le dictionnaire est intégré aux ressources du plugin.

Pour désactiver l'intégration des ressources, ajoutez -vkb-no-bundle-pinyin à la ligne de commande de configuration de Qt. Dans ce cas, l'emplacement par défaut dépend de la valeur de QLibraryInfo::path(QLibraryInfo::DataPath). Par exemple, pour les bibliothèques Qt compilées à partir du code source, il pourrait s'agir de qtbase/qtvirtualkeyboard/pinyin/dict_pinyin.dat.

QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARYRemplace l'emplacement du dictionnaire Cangjie.

Par défaut, le dictionnaire est intégré aux ressources du plugin.

Pour désactiver l'intégration des ressources, ajoutez -vkb-no-bundle-tcime à la ligne de commande de configuration de Qt. Dans ce cas, l'emplacement par défaut dépend de la valeur de QLibraryInfo::path(QLibraryInfo::DataPath). Par exemple, pour les bibliothèques Qt compilées à partir du code source, il pourrait s'agir de qtbase/qtvirtualkeyboard/tcime/dict_cangjie.dat.

QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARYRemplace l'emplacement du dictionnaire Zhuyin.

Par défaut, le dictionnaire est intégré aux ressources du plugin.

Pour désactiver l'intégration des ressources, ajoutez -vkb-no-bundle-tcime à la ligne de commande de configuration de Qt. Dans ce cas, l'emplacement par défaut dépend de la valeur de QLibraryInfo::path(QLibraryInfo::DataPath). Par exemple, pour les bibliothèques Qt compilées à partir du code source, il pourrait s'agir de qtbase/qtvirtualkeyboard/tcime/dict_zhuyin.dat.

QT_VIRTUALKEYBOARD_PHRASE_DICTIONARYRemplace 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 de configuration de Qt. Dans ce cas, l'emplacement par défaut dépend de la valeur de QLibraryInfo::path(QLibraryInfo::DataPath). Par exemple, pour les bibliothèques Qt compilées à partir du code source, il pourrait s'agir de qtbase/qtvirtualkeyboard/tcime/dict_phrases.dat.

QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATHSpécifie l'emplacement de la base de données d'écriture manuscrite Cerence Handwriting.

Les emplacements de recherche par défaut pour la base de données d’écriture manuscrite Cerence Handwriting sont les suivants :

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

La variable d'environnement peut contenir plusieurs chemins d'accès. Sous Windows, ceux-ci sont séparés par des points-virgules ; sur les autres systèmes d'exploitation, ils sont séparés par des deux-points.

QT_VIRTUALKEYBOARD_XT9_LDB_PATHSpécifie l'emplacement des bases de données XT9.

Les emplacements de recherche par défaut pour les fichiers LDB sont les suivants :

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

Des chemins de recherche supplémentaires peuvent être spécifiés en définissant cette variable d'environnement. Les chemins multiples sont séparés par un point-virgule sous Windows et par deux points sur 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_STYLESpécifie l'emplacement du style à utiliser avec le clavier virtuel.

Ceci peut également être spécifié dans QML en définissant ` VirtualKeyboardSettings::styleName`, ou lors de la compilation à l'aide des options de configuration.

QT_VIRTUALKEYBOARD_LAYOUT_PATHSpécifie l'emplacement des dispositions à utiliser avec le clavier virtuel.
QT_VIRTUALKEYBOARD_DESKTOP_DISABLEDésactive la méthode d’intégration au bureau.
QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUSActive la fonction ` Qt Virtual Keyboard ` pour envoyer des événements de touche et utiliser la touche Maj sans qu'aucune saisie de texte ne soit active.

Cette variable doit être explicitement définie dans l'environnement d'exécution d'une application souhaitant bénéficier de cette fonctionnalité. L'utilisation de la fonction ` 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.