Howdy, Stranger!

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

Supported by

Problem using Tkinter interface

Hello,

I am doing an experiment with opensesame, where I am using python inline scripting to build a Tkinter interface. The problem is that, when the inline script has finished executing, the following parts of the experiment (that are build using opensesame sketchpads) do not show up. Is there any problem using the opensesame window together with a Tkinter window?

Is there any solution besides building the rest of the experiment with the python inline script?

Hope I explained the problem good enough

Thanks in advance

Comments

  • Hi,

    It sounds like the OpenSesame window loses focus when the Tkinter widgets appear. If you click on the OpenSesame window, the experiment should become responsive again. Is that correct? If so, then it would be a matter of having OpenSesame regain focus after Tkinter is done. But since focus is handled by the operating system, I don't know from the top of my head how to do that.

    Could you post the script that shows the Tkinter window here?

    Cheers!

    Sebastiaan

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • Hello Sebastiaan:

    Thanks for the answer!

    First we create the interface like this and we place a clock and some sliders using scales:

    When the timer has expired we get the answers and quit the interface while calling the next part of the experiment. I attach in case you need to test it or something.

    What happens is that the "feedback" window does not show.


    Thanks in advance,

    Iñigo

  • Hi Iñigo,

    So you're working with two independent windows here: the main OpenSesame window, and a new window that is created by TkInter for the slider task. The trick will be to make sure that the TkInter window receives focus when it appears, and that this focus returns to the OpenSesame window when TkInter closes. Windows focus is handled by the operating system, so it's difficult to control, and your best bet, I think, will therefore be to find some back-end configuration that automatically shows the desired behavior. Here's what works for me:

    • Use the legacy backend
    • Under backend settings, set Draw window frame to "no", and Window position to "0,0"
    • Now run the experiment in a window (but it will appear full-screen because of the above settings)

    Does this work for you?

    Cheers,

    Sebastiaan

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • Hi Sebastiaan:

    Thank you so much for your help. The experiment is running correctly now, but if I run it in a window, it does not fit the full screen dimensions so the kids can click outside the window. Is there any way to make the interface fit the full screen?

    Thank you in advance,

    Iñigo

  • > Is there any way to make the interface fit the full screen?

    Yes, you can change the experiment resolution so that it matches the resolution of the monitor.

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

Sign In or Register to comment.