python - PsychoPy 重新打开窗口

标签 python oop window psychopy

我使用独立 PsychoPy v1.80.03 编写了一个点探针范例。在点探针之后,我需要一个看起来与点探针相同的修改任务。因此,我在第二个任务的构造函数中传递点探针对象,以重用该窗口以及绑定(bind)到该窗口的刺激容器。

但是,在第二个任务开始之前,我需要使用 gui.DlgFromDict 输入一些信息(例如条件)。由于点探针的窗口仍处于全屏状态,因此无法访问对话框。

我尝试通过 dotProbe.window.fullscr = False 后跟 dotProbe.window.flip() 将全屏更改为 false,但是一旦实例化窗口,更改此属性似乎没有效果。

使用dotProbe.window.close()关闭窗口可以访问对话框,但没有函数可以再次打开窗口以继续第二个任务。当然,我可以构建一个新窗口,但正如我所说,我需要相同的设置,在完全相同的位置和所有其他参数上设置刺激。将所有参数从一个脚本复制到另一个脚本以“手动”确保它们看起来相同是不希望的 - 就像在点探测之前为第二个任务提供输入之类的解决方法一样,因为脚本应该能够独立运行(如果没有点探测)对象在构造函数中提供,创建一个新对象以提供默认外观)。

感谢您的帮助!

最佳答案

您不想关闭窗口:这实际上会破坏整个对象及其所有刺激和其他属性。

此处发布了类似问题的解决方案: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

这会将窗口隐藏起来而不是关闭它。然后用以下命令恢复它:

win.winHandle.maximize()
win.winHandle.set_fullscreen(True) 
win.winHandle.activate()
win.flip()

关于python - PsychoPy 重新打开窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257490/

相关文章:

python - 将文件粘贴到 python 中的新文件中

python - Gurobi:预求解后保存模型以供重复使用

python3 : regex group 1, 意外结果

python - 在 sqlalchemy 中,如何检查 session 是否附加了模型?

Java多态: finding the right design pattern

java - OO 设计与 Java 中的静态类以及并发开发

c++ - 使用指向对象的指针显式调用析构函数

wpf - WPF 应用程序关闭时自动退出线程

JAVA VAADIN7 如何防止窗口在某些操作之前关闭,如何让窗口在最上面?

javascript - 使用脚本注入(inject)打开的窗口