如何在屏幕上添加实时更新文本

2024-06-12 02:34:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用精神病建设者做一个实验。 参与者将看到一幅包含数字的图像,例如10和20。 他们输入他们认为是数字的平均值,在本例中是15,然后按空格键移动到下一个图像。在

我试着让它在屏幕上有一个显示/框来显示他们的输入,就像数十万和数百万的大数字一样,我想他们可能会忘记他们按下了什么。 更改他们的条目的能力也会很好,但实际上我最感兴趣的是他们能够在屏幕上看到它。在

在builder中,我找不到一个方法来做到这一点,而评级尺度也不适合庞大的数字。在

我在代码中找到了这些解决方案,可以做一些听起来像这样的事情: http://www.psychopy.org/wiki/home.php/Snippets/LiveUpdatingText

但是,当我尝试使用代码插入函数添加它们,或者只是将它们添加到编译的脚本中时,当我尝试运行实验时,屏幕会锁定。我是python的新手,不知道从哪里开始修复这个问题。我想做的可能吗? 我很高兴提供一些编译的构建器实验的示例代码。 提前谢谢!在


Tags: 方法代码图像目的屏幕builder数字能力
1条回答
网友
1楼 · 发布于 2024-06-12 02:34:42

这些代码片段是为Coder设计的,在这里您可以控制所有正在发生的事情和发生的时间。同样的事情也可以在Builder中完成,但是你必须修改代码以适应Builder的事件循环周期。i、 e.Builder在实验开始时,每次试验,每次屏幕刷新时都会做一些事情。所以你不能不加修改就插入这类代码,因为,例如,它试图无限期地等待按键。同时,Builder在每次屏幕刷新时都会检查键盘(通常为60hz),因此如果您试图无限期地等待一个按键输入代码,您将停止Builder执行它需要执行的所有其他操作。在

本质上,您只需要将代码分解成代码段,放在构建器代码组件的相应选项卡中(对于要在实验开始时执行的代码,在每个帧上执行,等等),并避免不确定的函数,例如event.waitKeys事件()支持通过事件.getKeys()

例如,为了改编Jonas Lindeløv的第二个例子,在“Begin Routine”选项卡中输入:

chars = list('0123456789.') # the valid characters
meanText = '' # start with an empty answer on each trial

在“每个帧”选项卡中,输入以下内容:

^{pr2}$

相关问题 更多 >