Capturing mouse events for specific dom/web elements in QT
Posted
by Red Serpent
on Stack Overflow
See other posts from Stack Overflow
or by Red Serpent
Published on 2010-03-16T11:03:49Z
Indexed on
2010/03/16
11:06 UTC
Read the original article
Hit count: 328
Hi
I would like to know if it is possible in QTWebKit to install an event filter or capture events that occur from specific Dom elements. For example, my webview is showing a webpage that has text, images and an edit box, I want to disable the right-clicking and highlighting functionality on the text and images but at the same time when the user right-clicks inside the edit box, I want to display my context menu.
I am not sure where should I install my event filter, in QwebView or QwebPage... currently this is what I'm using:
MainWindow::MainWindow()
{
centralWidget = new WebView(this);
setCentralWidget(centralWidget);
centralWidget->webView->installEventFilter(this);
//No mouse events are rising on QWebPage
//centralWidget->webView->page()->installEventFilter(this);
}
As its clear in the code above, when installing an EventFilter on QwebPage, I never receive any QMouseEvents, not by moving clicking or releasing any mouse buttons. While when setting it to filter events from QWebView it works fine.
I am really interested with the first part of my question as to how handle Dom elements differently.
How can I achieve such goal?
Regards
© Stack Overflow or respective owner