Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Using QWebView inside an experiment

Hi people,

A technical question here, but I thought I post it on the forum instead of writing @Sebastiaan and @Daniel a personal message, so others might benefit.

Like many others I would like to use an online questionnaire (Qualtrics) and OpenSesame. As no browser allows Qualtrics to start a program like OpenSesame or any other program for that matter (because this is essentially what a virus would do), I chose to make OpenSesame the ‘master’ program starting Qualtrics.

I accomplished opening Qualtrics in a different window using QWebView which allows me to show the web-page and search for text (pythons webbrowser module doesn’t), so I can automatically close the window to “return to” OpenSesame. But is there a way to use QWebView inside the experiment window?

I also couldn’t find a way to display and search a web-page with either PyGame or OpenGL.

If I can get this working I'm thinking about building a plug-in. Any suggestions are welcome!

Best,
Jarik

Comments

  • Hi Jarik,

    I accomplished opening Qualtrics in a different window using QWebView which allows me to show the web-page and search for text (pythons webbrowser module doesn’t), so I can automatically close the window to “return to” OpenSesame.

    Wow, that seems pretty sophisticated.

    But is there a way to use QWebView inside the experiment window?

    No, or at least not with any of the existing backends.The problem is that Qt cannot render things on a PyGame surface (or similar)—it requires its own top-level QWidget.

    It's probably possible to implement a Qt backend (which could include QWebView), and in fact @Daniel have been talking about that. What has stopped us from doing this so far (aside from time) is that we're not sure how to go about this, because Qt relies on an event-loop structure and OpenSesame doesn't; and we're also not sure how good Qt is with timing (but that could be benchmarked of course).

    Cheers,
    Sebastiaan

  • I also don't think it's possible to render webpages in any of the current backends, but a Qt backend would certainly make this possible, because you could switch between the QOpenGL Widget/context, and other widgets (forms, webpages, etc.). The event loop structure that Qt requires us to adhere to is still a thing, but I do think it is very well possible, and even better than the current way of doing things. I plan to dive into this when I find some time again. We can always test the timing once we have a basic setup working.

    Buy Me A Coffee

Sign In or Register to comment.