Tastiera virtuale per il browser basato su QtWebKit o come posso ottenere il campo di testo attualmente concentrata?
-
20-09-2019 - |
Domanda
Sto lavorando sull'implementazione di una tastiera virtuale per un browser basato QtWebKit. Sto avendo un sacco di difficoltà a capire come QtWebKit dipinge i controlli all'interno della pagina vera e propria. Inizialmente ho pensato che fossero casi QLineEdit, ma non lo sono. Tuffarsi implementazione sembra che il codice collante tra Qt e WebKit dipinge il campo di testo utilizzando QStyle e QPainter. Purtroppo, io sono molto nuovo per Qt e così io non capisco in quale parte del ciclo di eventi del mouse le presse per questi eventi sono interpretati. Ho trovato Editor :: canEdit () in profondità nello stack di chiamate, e ora posso far apparire la tastiera virtuale quando l'utente fa clic su un campo di testo all'interno della pagina. La tastiera virtuale del previsto un puntatore a un'istanza QWidget, ma Edito :: canEdit () non porta che le informazioni e non riesco a trovare da nessuna parte in cui è esposto un QWidget come esempio. Sono davvero perplesso, tutto il consiglio sarebbe il benvenuto.
Grazie!
Soluzione
Si potrebbe ottenere più fortuna agganciando la tastiera virtuale nel sistema di metodo di input Qt. Cerca "InputMethod" nel codice sorgente di QtWebKit Api, vale a dire il Qweb *. * File.