2009-08-29 20 views
1

我正在爲基於QtWebKit的瀏覽器實現虛擬鍵盤。我很難理解QtWebKit如何繪製實際頁面中的控件。起初我以爲他們是QLineEdit實例,但他們不是。潛入實現看來,Qt和WebKit之間的粘合代碼使用QStyle和QPainter繪製文本字段。不幸的是,我對Qt非常陌生,所以我不明白在事件循環中鼠標按下這些事件的位置。我在調用堆棧中發現了Editor :: canEdit(),現在我可以在用戶單擊頁面內的文本字段時調出虛擬鍵盤。虛擬鍵盤然後期望一個指向QWidget實例的指針,但是Edito :: canEdit()沒有攜帶這些信息,並且我無法找到像實例一樣暴露QWidget的任何地方。我真的很難過,任何建議都會受到歡迎。基於QtWebKit的瀏覽器的虛擬鍵盤或如何獲得當前集中的文本字段?

謝謝!

回答

2

通過將虛擬鍵盤掛接到Qt輸入法系統中,您可能會獲得更好的運氣。在QtWebKit Api的源代碼中搜索「InputMethod」,即qweb *。*文件。

+0

從Qt 4.5.2開始,您無法使用WebKit的輸入機制,但他們已經將支持結構添加到4.6。 – EightyEight

相關問題