Teclado virtual para navegador baseado em QTWebkit ou como posso obter o campo de texto atualmente focado?
-
20-09-2019 - |
Pergunta
Estou trabalhando na implementação de um teclado virtual para um navegador baseado no QTWebkit. Estou tendo muita dificuldade em entender como o Qtwebkit pinta os controles na página real. Inicialmente, eu pensei que eram casos QLINEEDIT, mas não são. Mergulhando na implementação Parece que o código de cola entre QT e Webkit pinta o campo de texto usando QSTYLE e QPainter. Infelizmente, sou muito novo no QT e, portanto, não entendo onde, no evento, o loop, o mouse pressiona para esses eventos é interpretado. Encontrei o editor :: Canedit () no fundo da pilha de chamadas e agora posso criar o teclado virtual quando o usuário clicar em um campo de texto na página. O teclado virtual esperava um ponteiro para uma instância Qwidget, mas o Edito :: Canedit () não carrega essas informações e não consigo encontrar em nenhum lugar onde seja exposta uma instância QWidget como. Estou realmente perplexo, qualquer conselho seria muito bem -vindo.
Obrigado!
Solução
Você pode ter melhor sorte, conectando o teclado virtual no sistema de método de entrada QT. Pesquise "InputMethod" no código -fonte da API QTWebkit, ou seja, os arquivos QWeb*.*.