我在编码器视图中单步执行一些PsychoPy代码,并运行Window函数:
http://www.psychopy.org/api/visual/window.html
这有一个有用的副作用,打开一个灰色的窗口,并没有绑定任何键退出.在这种情况下如何退出?我在运行Snow Leopard的Mac上.
我试图使用Finder(命令空间)打开一个终端窗口并输入killall psychopy,但这并没有效果.也许killall PsychoPy2会更有效,但这是一个非常不幸的方法来杀死一个错误的PsychoPy过程 – 特别是当你无法看到你是否已经打开一个终端窗口,如果你正在打字.是否有一个秘密按键组合,将始终释放PsychoPy在屏幕上的保持?
解决方法:
没有一个魔术按键始终可用于关闭窗口或从进程中逃脱.我强烈建议您使用fullscr = False开发实验,然后在最后阶段和运行主题中更改为fullscr = True. (此开关位于Builder>实验设置>屏幕>全屏窗口 – 取消选中框,或在代码中创建Window实例时的fullscr = False参数.)更容易来回切换关闭僵尸窗口,如果你不是全屏模式.
在Builder中,’escape’键通常会像魔术键一样工作,但这只是因为Builder生成的某些代码专门侦听’escape’键,如果它得到一个键就会挽救. (编译Builder脚本并查看代码!).请注意,有一个实验设置允许您禁用转义,所以即使这样也不能保证工作.
从编码器开始,如果你制作一个像这样的2行程序并运行,它将在窗口结束时关闭窗口:
from psychopy import visual
w = visual.Window()
将core.quit()放在代码中的某处将与结尾处的脚本具有相同的效果(即,窗口将关闭正常).
如果你已经创建了一个窗口,你可以在不退出PsychoPy的情况下关闭它,但你必须知道如何引用该窗口实例并告诉它在下面的例子中关闭() – w1:
from psychopy import visual
w1 = visual.Window()
w1.close()
# do other things here, perhaps a GUI
w2 = visual.Window() # another, new window pops open
多个窗口关闭和重新打开并不常见 – 如果您发现自己这样做,可能有更好的方法.但它确实说明了如何关闭窗口.