Important: Please read the Qt Code of Conduct -

Sending events to an html page rendered by a qt browser

  • Hi,
    Myself have a qt browser rendering webpages.I need to give mouse events from the browser itself to make a click on an html page icon.How all I can send the event to html page from qt browser.I can get the coordinates of the mouse click in html page.

  • Moderators

    QWebView* view = ....

    QPoint pos = ... //position of the HTML element mapped to the widget

    QMouseEvent pressEvent( QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::NoModifier);
    QApplication::sendEvent( view, &pressEvent );

    QMouseEvent releaseEvent( QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::NoModifier);
    QApplication::sendEvent( view, &releaseEvent );

    or even simplier (if it's a button for example) would be finding the element in a QWebView using the QWebElement API and call javascript on it:
    QWebElement document = view->page()->mainFrame()->documentElement();
    QWebElement button = document.findFirst("input[type=submit]"); //use css selectors

  • Thank you, this was what i was searching for.

Log in to reply