2013-01-06 31 views
0

我需要處理QWebView(QWebPage)中複選框的選中狀態。Qt WebKit手柄複選框檢查

更多細節:

有在HTML一些複選框。我們希望在檢查其中一些應用程序時對其進行更改。要做到這一點,我們需要知道它何時發生變化。

怎麼辦?

回答

0

這並不容易。這是一個解決方法,它不完善但實用。

創建QObject的子類,例如, Notifier。這將是你從網絡世界到本土世界的。無論您希望如果複選框被選中時所做的更改都應該直接放在此處,或者您可以通過信號/插槽機制將其轉發到更遠的鏈中。

使用addToJavaScriptWindowObject將此Notifier對象的實例注入到您的網頁中。它將被附加到全局window對象。現在,使用DOM的addEventListener將新偵聽器添加到該複選框,偵聽器除了調用橋的回調函數外什麼也不做。 window.notifier.doSomething()。可以通過使用evaluateJavaScript執行小型JavaScript代碼來執行此監聽器調整。

這個技巧是可行的,因爲QtWebKit internal bridge理解一個QObject實例(雖然自省),並使其屬性和插槽可以從JavaScript世界訪問。

+0

謝謝。我已經在KDE Blogs上閱讀過關於它的博客文章;) –