Je travaille sur un éditeur de texte écrit avec le moteur C++ et Qt pour l'interface utilisateur. Je veux permettre à l'utilisateur d'écrire avec n'importe quelle source d'entrée (clavier de n'importe quelle langue). Tout allait bien jusqu'au moment où je prenais en charge les langues, avec une fonction de clavier 1-1 (clavier français/russe, par exemple). J'ai eu un eventFilter
installé sur mon Qwidget
sur lequel je rends le texte et capturait les entrées du clavier dans QEvent::InputMethod
ouvrant un InputWindow sur OSX pour la saisie de texte tout en tapant du texte avec la langue asiatique
Mais je ne suis pas en mesure de soutenir toutes les fonctionnalités quand j'ai commencé avec les langues asiatiques (comme le japonais/chinois) Un exemple typique d'un tel cas est la division soulignée lorsque l'utilisateur écrit du texte avec japonais (Hiragana IME) et appuie sur la touche espace qui aide l'utilisateur à déterminer quels caractères doivent être remplacés par le contenu sur la prédiction dialog.See Image ci-dessous: :
après avoir lutté un moment, j'ai compris que Qt ne fournit pas assez d'informations sur les divisions ou la longueur de la chaîne qui est remplacé et j'abandonne l'idée de créer moi-même tous ces aspects visuels.
Mais ensuite, j'ai découvert que certaines applications utilisent une méthode d'entrée spécifique au système d'exploitation pour gérer un texte aussi complexe. Un exemple est le Finder OSX, si nous changeons la méthode d'entrée en japonais (Hiragana) et commençons à taper quand une fenêtre finder est mise au point, elle ouvre une fenêtre flottante qui accepte toutes mes entrées et la transmet au finder. Voir l'image ci-dessous
je creuse plus et je me suis dit qu'il y avait un tel cadre qui était disponible plus tôt que les services de texte Manager avec beaucoup de documentation (« http://mirror.informatimago.com/next/developer.apple.com/technotes/te/te_27.html#Downloads ») qui aurait pu faire cette astuce très facilement pour moi MAIS cette API a été dépréciée et n'est plus disponible.
Ce que je cherche maintenant est une alternative pour cette API obsolète. Est-ce que tout le monde sait si nous avons une API de cacao qui peut m'aider à apporter ce composant de la méthode de saisie du système d'exploitation pour l'entrée de texte facile.
Toute aide/suggestion sont les bienvenues.
Les classes 'QInputMethod' et les classes associées aident avec cela. –