Clavier virtuel pour navigateur basé sur QtWebKit ou comment puis-je obtenir le champ de texte se concentre actuellement?

StackOverflow https://stackoverflow.com/questions/1352409

Question

Je travaille sur la mise en œuvre d'un clavier virtuel pour un navigateur basé sur QtWebKit. Je vais avoir beaucoup de difficulté à comprendre comment QtWebKit peint les contrôles dans la page réelle. Au début, je pensais qu'ils étaient des cas QLineEdit, mais ils ne sont pas. Plonger dans la mise en œuvre, il semble que le code de la colle entre Qt et WebKit peint le champ de texte à l'aide QStyle et QPainter. Malheureusement, je suis très nouveau pour Qt et donc je ne comprends pas où sont interprétées dans la boucle d'événements les presses de la souris pour ces événements. J'ai trouvé Editeur :: CanEdit () au fond de la pile d'appel, et maintenant je peux afficher le clavier virtuel lorsque l'utilisateur clique sur un champ de texte dans la page. Le clavier virtuel alors prévu un pointeur vers une instance QWidget, mais Édito :: CanEdit () ne porte pas cette information et je ne trouve nulle part où QWidget comme exemple est exposé. Je suis vraiment perplexe, des conseils serait la bienvenue.

Merci!

Était-ce utile?

La solution

Vous pouvez obtenir plus de chance en accrochant le clavier virtuel dans le système de méthode d'entrée Qt. Chercher "InputMethod" dans le code source de QtWebKit Api, à savoir le QWEB *. * Fichiers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top