Mar*_*ter 2 python oop window psychopy
我使用Standalone PsychoPy v1.80.03编写了一个点探针范例.在点探测之后,我需要一个看起来与点探测相同的修改任务.因此,我在第二个任务的构造函数中传递点探测对象,以重新使用窗口和绑定到此窗口的刺激容器.
然而,在第二个任务开始之前,我需要使用a输入一些信息(例如条件)gui.DlgFromDict.由于点探测器的窗口仍处于全屏状态,因此无法访问对话框.
我尝试将全屏更改为false dotProbe.window.fullscr = False后跟一个dotProbe.window.flip()但是一旦窗口被实例化,更改此属性似乎没有效果.
关闭窗口dotProbe.window.close()使Dialog可访问,但没有功能再次打开窗口继续第二个任务.当然我可以构建一个新的窗口,但正如我所说,我需要在完全相同的位置和所有其他参数相同的刺激相同的设置.复制从一个脚本到另一个的所有参数设置为"手动"确保他们看起来相同是不期望的-因为就像给点探测之前提供输入的第二个任务,因为脚本应该能够独立运行(如果没有点探测解决方法在构造函数中提供了对象,创建了一个新的提供默认外观的对象.
谢谢你的帮助!
你不想关闭窗口:它实际上会破坏整个对象,以及它的所有刺激和其他属性.
此处发布了类似问题的解决方案:https://groups.google.com/forum/#! msg/psychopy- users/zq2E12vnYiI/6mXirJMlq3cJ
根据Jan Kramer的说法(以及随后jashubbard的改进:https://discourse.psychopy.org/t/bug-user-defined-gui-does-not-display-in-full-screen-on-mac- osx/2214/3),我想你想要使用类似的东西:
win.winHandle.minimize() # minimise the PsychoPy window
win.winHandle.set_fullscreen(False) # disable fullscreen
win.flip() # redraw the (minimised) window
Run Code Online (Sandbox Code Playgroud)
这将隐藏窗户而不是关闭它.然后恢复它:
win.winHandle.maximize()
win.winHandle.set_fullscreen(True)
win.winHandle.activate()
win.flip()
Run Code Online (Sandbox Code Playgroud)