2013-11-12 7 views
4

Я шагал через некоторое PsychoPy кода в представлении шифратора и запускали функцию окна:Выход PsychoPy Window

http://www.psychopy.org/api/visual/window.html

Это была полезной побочный эффект открытия серое окно и не связывать любой для выхода. Как выйти в этой ситуации? Я нахожусь на Mac под управлением Snow Leopard.

Я попытался использовать Finder (Command + Space), чтобы открыть окно терминала, и введите killall psychopy, но это не было эффективным. Возможно, killall PsychoPy2 был бы более эффективным, но это довольно неудачный способ убить ошибочный процесс PsychoPy - особенно если вы не видите, открыли ли вы окно терминала, и если вы печатаете. Есть ли секретная комбинация клавиш, которая всегда будет удерживать PsychoPy на экране?

ответ

1

Существует не волшебное нажатие, которое всегда будет работать для закрытия окна или выхода из процесса. Я настоятельно рекомендую разработать свой эксперимент с помощью fullscr = False, а затем перейти на fullscr = True на заключительных этапах и для запуска предметов. (Этот переключатель находится в Builder> Параметры эксперимента> Экран> Полноэкранное окно - снимите флажок в поле или параметр fullscr = False при создании экземпляра окна в коде.) Его гораздо проще переключать туда и обратно и закрывать окна зомби, если вы не находитесь в полноэкранном режиме.

В Builder клавиша «escape» часто будет работать как волшебный ключ, но только потому, что какой-то код, созданный Builder, специально прослушивает ключ «побег» и выручит, если он получит его. (Скомпилируйте скрипт Builder и проверьте код!). Обратите внимание, что есть параметр Experiment, который позволяет вам отключить сбег, так что даже это не гарантирует работу.

С Coder, если вы сделаете программу 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 

Несколько закрытий и повторного открытия окон не являются обычным явлением - если вы это сделаете, возможно, лучший способ. Но он иллюстрирует, как закрыть окно.

+0

Для полноты «Параметры эксперимента», не следует путать с предпочтениями PsychoPy.Более поздняя версия доступна как опция меню как в представлениях Coder, так и в Builder, но «Параметры эксперимента» доступны только в Builder и только щелчком по синему прямоугольному значку с двуглавой белой стрелкой. Вкладка «Основные» в диалоговом окне включает в себя параметр «Включить ключ Escape», который по умолчанию выбран. – jacanterbury

1

Если у вас есть консоль открыта, вы можете убить все оставленное ваш сценарий, как это:

from psychopy import core 
core.quit() 

В качестве альтернативы, чтобы просто закрыть висит окно:

from psychopy import visual 
visual.Window.close() 
0

Я часто использую этот кусок кода, чтобы получить ключ, чтобы выйти из эксперимента в неблокирующей образом:

while True: 
     keys = event.getKeys() 
     if keys: 
      # q quits the experiment 
      if keys[0] == 'q': 
       core.quit() 

 Смежные вопросы

  • Нет связанных вопросов^_^