Виртуальная клавиатура для браузера на базе QtWebKit или как я могу получить текущее текстовое поле?

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

Вопрос

Я работаю над внедрением виртуальной клавиатуры для браузера на базе QtWebKit.У меня возникают большие трудности с пониманием того, как QtWebKit рисует элементы управления на самой странице.Изначально я думал, что это экземпляры QLineEdit, но это не так.Углубляясь в реализацию, выясняется, что связующий код между Qt и WebKit рисует текстовое поле с использованием QStyle и QPainter.К сожалению, я очень новичок в Qt, и поэтому я не понимаю, где в цикле событий интерпретируются нажатия мыши для этих событий.Я нашел Editor::CanEdit() глубоко в стеке вызовов, и теперь я могу вызвать виртуальную клавиатуру, когда пользователь нажимает на текстовое поле внутри страницы.Затем виртуальная клавиатура ожидала получить указатель на экземпляр QWidget, но Edito::CanEdit() не содержит этой информации, и я не могу найти нигде, где доступен экземпляр, подобный QWidget.Я действительно в тупике, любой совет был бы очень кстати.

Спасибо!

Это было полезно?

Решение

Возможно, вам повезет больше, подключив виртуальную клавиатуру к системе методов ввода Qt.Найдите "InputMethod" в исходном коде QtWebKit Api, т.е.файлы qweb*.*.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top