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

Configuration

Prédiction de mots

Activée par défaut. Désactivez-la globalement sur le composant ou à l'exécution via le singleton :

VirtualKeyboard { predictionEnabled: false }

// ou à l'exécution :
Lnvk.predictionEnabled = false
Désactivation automatique : la prédiction est silencieusement désactivée pour les champs avec les hints Qt.ImhNoPredictiveText ou Qt.ImhSensitiveData, quel que soit ce réglage.

Dictionnaires de prédiction personnalisés

Fournissez des dictionnaires de prédiction métier (médical, juridique, noms de produits, etc.) par langue.

Étape 1 : compiler un fichier .pred

Utilisez le compilateur fourni dans votre bundle LNVK :

# Depuis la racine du package
./bin/lndict-compiler --flat my-words.txt prediction-en-custom.pred

Formats d'entrée acceptés par --flat :

  • Liste de mots (un mot par ligne) : word
  • Mot + fréquence : word<TAB>frequency
  • TSV de prédiction complet : word<TAB>word<TAB>frequency

Les lignes de type liste reçoivent automatiquement une fréquence par défaut élevée pour classer les entrées personnalisées en tête.

Étape 2 : enregistrer les dictionnaires dans votre app

Enregistrez un dictionnaire par langue/tag.

Depuis QML (via le singleton Lnvk) :

import Ln.VirtualKeyboard 1.0

Component.onCompleted: {
    Lnvk.setCustomPredictionDictionary("en", "/opt/mydicts/prediction-en-custom.pred")
    Lnvk.setCustomPredictionDictionary("en-US", "/opt/mydicts/prediction-en-us-custom.pred")
}

Depuis C++ :

#include <lnvk>

auto *kb = lenewt::KeyboardManager::instance();
kb->setCustomPredictionDictionary("en", "/opt/mydicts/prediction-en-custom.pred");
kb->setCustomPredictionDictionary("en-US", "/opt/mydicts/prediction-en-us-custom.pred");

Les deux chemins référencent la même instance singleton ; les appels C++ sont visibles depuis QML et inversement.

Ordre de résolution des langues :

  1. tag BCP47 exact (par exemple en-US)
  2. repli sur le tag principal (par exemple en)

Étape 3 : choisir le mode de fusion

VirtualKeyboard {
    customPredictionMode: Lnvk.Supersede
}

// ou sur le singleton :
Lnvk.customPredictionMode = Lnvk.Supersede

Modes :

  • Disabled : ignorer les dictionnaires personnalisés ; utiliser uniquement le dictionnaire intégré
  • Replace : utiliser uniquement le dictionnaire personnalisé pour la langue/tag correspondante (repli sur l'intégré si absent/invalide)
  • Supersede : candidats personnalisés en premier, puis candidats intégrés

Effacer les mappings à l'exécution :

Lnvk.clearCustomPredictionDictionary("en-US")
Lnvk.clearCustomPredictionDictionaries()

Rangée de chiffres

Affichez une rangée persistante de touches numériques au-dessus de la rangée de lettres :

VirtualKeyboard { numberRowEnabled: true }

Lnvk.numberRowEnabled = true

Apprentissage

Le clavier apprend des mots saisis pour améliorer les prédictions futures. Désactivez la persistance entre sessions avec rememberLearning :

VirtualKeyboard { rememberLearning: false }

Lnvk.rememberLearning = false
Vie privée : tout l'apprentissage est réalisé sur l'appareil. Aucune donnée ne quitte l'appareil. Avec rememberLearning: false, les mots appris sont effacés à la fermeture de l'application.

Hints de méthode de saisie

Le clavier adapte automatiquement sa disposition aux inputMethodHints du TextInput ou TextEdit qui a le focus :

HintComportement du clavier
Qt.ImhNoneClavier complet avec prédiction
Qt.ImhDigitsOnlyPavé numérique
Qt.ImhDialableCharactersOnlyClavier de numérotation
Qt.ImhFormattedNumbersOnlyNombres avec décimale et signe
Qt.ImhEmailCharactersOnlyDisposition optimisée e-mail
Qt.ImhUrlCharactersOnlyDisposition optimisée URL
Qt.ImhDateSaisie de date
Qt.ImhTimeSaisie d'heure
Qt.ImhPreferNumbersChiffres avec accès aux lettres
Qt.ImhNoPredictiveTextDésactive la prédiction
Qt.ImhSensitiveDataDésactive prédiction et apprentissage
Qt.ImhHiddenTextMode mot de passe : aucun candidat affiché