Offres Produits Études de cas Expertises À propos Nous contacter Blog Offres d'emploi
FR EN

Démarrage rapide

Intégration minimale

Importez le module et placez VirtualKeyboard dans votre fenêtre. Le clavier apparaît automatiquement dès qu'un TextInput ou TextEdit reçoit le focus.

import QtQuick 2.15
import Ln.VirtualKeyboard 1.0

Window {
    width: 800; height: 600; visible: true

    Column {
        anchors.fill: parent

        TextInput {
            width: parent.width
            font.pixelSize: 24
            focus: true
        }

        VirtualKeyboard {
            width: parent.width
        }
    }
}

Exemple de configuration

Définissez les profils de saisie, activez la rangée de chiffres, choisissez un thème et configurez la prédiction en un seul bloc :

VirtualKeyboard {
    width: parent.width

    // Profils de saisie (56 embarqués)
    activeProfileIds: ["en-qwerty", "fr-azerty", "ja-romaji"]
    currentProfileId: "fr-azerty"

    numberRowEnabled: true
    predictionEnabled: true
    rememberLearning: true
    customPredictionMode: Lnvk.Supersede

    theme: Lnvk.Dark
    panelBackground: "#1a1a2e"
    accentColor: "#e94560"
}

Applications multi-pages

Important : instanciez VirtualKeyboard une seule fois par application, pas une fois par page. Le clavier réagit aux changements de focus depuis n'importe quel champ de saisie.

Placez le clavier à la racine de l'application, en dehors de la pile de pages, et réservez-lui de la place avec anchors.bottomMargin :

import QtQuick 2.15
import QtQuick.Controls 2.15
import Ln.VirtualKeyboard 1.0

ApplicationWindow {
    width: 800; height: 600; visible: true

    StackView {
        id: stackView
        anchors.fill: parent
        anchors.bottomMargin: keyboard.height

        initialItem: Page {
            header: Label { text: "Page 1" }
            TextInput {
                anchors.centerIn: parent
                text: "Saisie page 1"
            }
        }

        Component {
            id: page2
            Page {
                header: Label { text: "Page 2" }
                TextInput {
                    anchors.centerIn: parent
                    text: "Saisie page 2"
                }
            }
        }
    }

    // Instance unique du clavier au niveau application
    VirtualKeyboard {
        id: keyboard
        width: parent.width
        activeProfileIds: ["fr-azerty", "en-qwerty"]
    }
}

Le clavier apparaît automatiquement dès qu'un champ de saisie sur n'importe quelle page reçoit le focus.

Tenter de créer plusieurs instances termine l'application avec :

LNVK: Multiple instances detected. Only one VirtualKeyboard component may be instantiated per application.