Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Sending events to an html page rendered by a qt browser

    General and Desktop
    2
    3
    736
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sarahjohn last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • raven-worx
        raven-worx Moderators last edited by

        @
        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()");
        @

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        1 Reply Last reply Reply Quote 0
        • S
          sarahjohn last edited by

          Thank you, this was what i was searching for.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post