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
    button.evaluateJavaScript("this.click()");
    @



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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.