Guía de implantación
Visión general de
Este documento describe cómo desplegar y utilizar el plugin Qt Virtual Keyboard con aplicaciones Qt.
Despliegue
Los diferentes plugins y archivos de Qt Virtual Keyboard se despliegan en las siguientes ubicaciones:
| Elemento | Ruta de instalación Desktop | Ruta de instalación de Boot2Qt |
|---|---|---|
| qtvirtualkeyboardplugin plugin de contexto de entrada de plataforma | <QT_INSTALL_PLUGINS>/platforminputcontexts | /system/plugins/platforminputcontexts |
| qtvkbplugin plugin QML | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard | /system/qml/QtQuick/VirtualKeyboard |
| qtvkbcomponentsplugin plugin QML | <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 QML plugin | <QT_INSTALL_QML>/QtQuick/VirtualKeyboard/Plugins | /system/qml/QtQuick/VirtualKeyboard/Plugins |
| extensión 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 |
| Datos del teclado virtual | <QT_INSTALL_DATA>/qtvirtualkeyboard | /system/qtvirtualkeyboard |
Dependencias
Más información en Despliegue de las bibliotecas de Qt.
Método de integración
Qt Virtual Keyboard soporta actualmente dos métodos alternativos de integración para usar el plugin:
Desktop: no requiere cambios en las aplicaciones existentes. El teclado virtual está disponible para todas las aplicaciones Qt del sistema.En este método de integración, el teclado se muestra en una ventana dedicada de nivel superior.
ApplicationEl teclado virtual se integra en la propia aplicación Qt mediante la instanciación de un elemento InputPanel en QML.Este método es obligatorio en entornos donde no hay soporte para múltiples ventanas de nivel superior (como dispositivos embebidos), pero también puede utilizarse en aplicaciones de escritorio.
Este método también puede ser utilizado por los compositores Qt Wayland Compositor para proporcionar un teclado virtual del lado del servidor. Véase la sección siguiente para más detalles.
El método de integración es seleccionado automáticamente por los archivos de proyecto. Sin embargo, en entornos de escritorio, es posible anular el método de integración del escritorio y utilizar el método de integración de la aplicación en su lugar, utilizando la variable de entorno QT_VIRTUALKEYBOARD_DESKTOP_DISABLE, o añadiendo -no-vkb-desktop a la línea de comandos configure.
Uso de Qt Virtual Keyboard con Qt Wayland
Esta sección explica cómo utilizar Qt Virtual Keyboard para interactuar con el ejemploQt Widgets Line Edits utilizando el ejemplo Fancy Compositor como compositor.
Usaremos Ubuntu 18.04 para ejecutar el ejemplo, usando X11 como sistema de ventanas. El compositor de ejemplo (fancy-compositor) se abrirá como una ventana dentro de una sesión X11.
- Inicie el compositor:
QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl \ QT_IM_MODULE=qtvirtualkeyboard ./fancy-compositor -platform xcb
- Antes de ejecutar la aplicación cliente, asegúrese de que QT_IM_MODULE está deshabilitado:
unset QT_IM_MODULE
- Inicie el ejemplo Line Edits como cliente:
./lineedits -platform wayland
- Haga clic en una línea de edición y Qt Virtual Keyboard's panel de entrada se abrirá.
Si se encuentran problemas, las siguientes variables de entorno se pueden establecer cuando se ejecuta el compositor para obtener la salida de depuración que puede ayudar a diagnosticar el problema:
WAYLAND_DEBUG=1 QT_LOGGING_RULES="qt.virtualkeyboard=true;qt.qpa.wayland*=true"
Carga del Plugin
En ambos métodos de integración, la aplicación debe utilizar la variable de entorno QT_IM_MODULE para cargar el plugin. Por ejemplo
$ QT_IM_MODULE=qtvirtualkeyboard myappo en la función main():
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
En el método de integración de escritorio, este paso es todo lo que se requiere para utilizar Qt Virtual Keyboard. En el método de integración de aplicaciones, la aplicación debe crear una instancia de InputPanel como se explica en el capítulo siguiente.
Creación de InputPanel
El siguiente ejemplo muestra cómo crear un InputPanel y cómo dividir el área de la pantalla con el contenedor de la aplicación.
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 } }
El panel de entrada debe ser un elemento hermano junto al contenedor de la aplicación. Es importante no poner el panel de entrada dentro del contenedor de la aplicación, ya que entonces se solaparía con el contenido de la aplicación. Además, la altura del panel de entrada se actualizará automáticamente en función de la anchura disponible; la relación de aspecto del panel de entrada es constante.
Variables de entorno
Hay varias variables de entorno definidas por el módulo que se enumeran a continuación:
| Variable | Propósito |
|---|---|
| QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH | Anula la ubicación de los archivos de datos Hunspell. La ubicación predeterminada depende del valor de Consulte Integración de Hunspell para obtener más información. |
| QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY | Anula la ubicación del diccionario Pinyin. Por defecto, el diccionario está incluido en los recursos del complemento. Para desactivar la agrupación de recursos, añada -vkb-no-bundle-pinyin a la línea de comandos de Qt configure. En este escenario, la ubicación por defecto depende del valor de |
| QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY | Anula la ubicación del diccionario Cangjie. Por defecto, el diccionario se incluye en los recursos del complemento. Para desactivar la agrupación de recursos, añade -vkb-no-bundle-tcime a la línea de comandos de Qt configure. En este caso, la ubicación predeterminada depende del valor de |
| QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY | Anula la ubicación del diccionario Zhuyin. Por defecto, el diccionario está incluido en los recursos del complemento. Para desactivar la agrupación de recursos, añada -vkb-no-bundle-tcime a la línea de comandos de Qt configure. En este escenario, la ubicación por defecto depende del valor de |
| QT_VIRTUALKEYBOARD_DICCIONARIO_DE_FRASE | Anula la ubicación del diccionario de frases. Por defecto, el diccionario se incluye en los recursos del complemento. Para desactivar la agrupación de recursos, añada -vkb-no-bundle-tcime a la línea de comandos de Qt configure. En este escenario, la localización por defecto depende del valor de |
| QT_VIRTUALKEYBOARD_CERENCE_HWR_DB_PATH | Especifica la ubicación de la base de datos de escritura a mano Cerence Handwriting. La ubicación de búsqueda predeterminada para la base de datos de escritura a mano Cerence son:
La variable de entorno puede contener múltiples rutas. Las rutas múltiples se separan con punto y coma en Windows y con dos puntos en otros sistemas operativos. |
| QT_VIRTUALKEYBOARD_XT9_LDB_PATH | Especifica la ubicación de las bases de datos XT9. La ubicación de búsqueda predeterminada para los archivos LDB son:
Se pueden especificar rutas de búsqueda adicionales configurando esta variable de entorno. Las rutas múltiples se separan con punto y coma en Windows y con dos puntos en otros sistemas operativos. Los archivos LDB son compartidos entre los plugins XT9 y Cerence Handwriting, por lo que esta variable de entorno afecta a ambos plugins. |
| QT_ESTILO_TECLADO_VIRTUAL | Especifica la ubicación del estilo a utilizar con el teclado virtual. Esto también se puede especificar en QML configurando VirtualKeyboardSettings::styleName, o en tiempo de compilación utilizando las Opciones de configuración. |
| QT_VIRTUALKEYBOARD_LAYOUT_PATH | Especifica la ubicación de los diseños que se utilizarán con el teclado virtual. |
| QT_VIRTUALKEYBOARD_DESKTOP_DISABLE | Desactiva el método de integración con el escritorio. |
| QT_VIRTUALKEYBOARD_FORCE_EVENTS_WITHOUT_FOCUS | Habilita Qt Virtual Keyboard para enviar eventos de teclado y utilizar la tecla Mayús sin tener ninguna entrada de texto en el foco. Esta variable necesita ser explícitamente establecida en el entorno de ejecución de una aplicación que quiera beneficiarse de esto. Utilizar qputenv() en la propia aplicación no es suficiente. |
© 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.