使用python在心理学中添加文本输入对话框?

时间:2016-07-31 21:13:49

标签: python psychopy

我正在使用心理学和蟒蛇来编写一个简单的心理学实验。基本上,屏幕上会显示一个外来单词8秒钟,然​​后是该单词翻译的5秒钟。在8秒暴露于外来词的过程中,指示参与者输入关于翻译可能是什么的猜测。当他们开始输入时,他们的文本会显示在屏幕上显示的外来词下面。

这是我的问题;如何在我的实验中包含一个对话,输入文本框,在他们输入的字母和字母出现的下方,而不是只显示在没有边框或边界的单词下面?

1 个答案:

答案 0 :(得分:1)

我做了类似于你前面描述的东西。也许这会有所帮助。您首先拥有一些TextStim和一些预定义的键:

instruction = psychopy.visual.TextStim(myWindow,color="white")
quitKeys = ['escape', 'esc']
ansKeys = ['space', 'return']
keyboardKeys = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
answer = ''

然后你有一个循环,在里面你有这样的东西 (我猜你也会有与你所展示的外国词有关的事情)

#Loop Starts Here>
instruction.setText(u':{0}'.format(answer))
instruction.draw()

myWindow.flip()
# get some keys.
for letter in (keyboardKeys):
    if psychopy.event.getKeys([letter]):
        answer += letter

if psychopy.event.getKeys(['backspace']):
    answer = answer[:-1]

if psychopy.event.getKeys([quitKeys[0]]):
    psychopy.core.quit()

if psychopy.event.getKeys([ansKeys[1]]):  # enter is pressed
    # and they have given their answer, So some code to check their answer

希望这有帮助