2009-08-29 7 views
1

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

Спасибо!

ответ

2

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

+0

Начиная с Qt 4.5.2 вы не можете подключиться к механизмам ввода WebKit, но они добавили поддерживающую структуру в 4.6. – EightyEight

 Смежные вопросы

  • Нет связанных вопросов^_^