textStim.text赋值函数与setText()方法调用不同

时间:2014-11-07 12:54:32

标签: python psychopy

我对文档here的阅读是我应该可以互换地使用mytextstim.text="test"mytextstim.setText("test"),但我发现直接分配似乎并不起作用。

e.g。在下面的代码示例中

#!/usr/bin/env python2
#from psychopy import visual, core, data, event, gui
from psychopy import visual, core

myWin = visual.Window( allowGUI=True, fullscr=True)

jstim= visual.TextStim(myWin,text="start", alignVert="center",alignHoriz="center",height=0.1)
jstim.draw()
myWin.flip()
print("1: " + jstim.text)
core.wait(2)

jstim.text = "changed via direct assignment"
jstim.draw()
myWin.flip()
print("2: " + jstim.text)
core.wait(2)

jstim.setText("changed via method call")
jstim.draw()
myWin.flip()
print("3: " + jstim.text)
core.wait(2)

jstim.text = "changed via direct assignment"的中间部分没有在屏幕上更新(尽管从print()语句中看到了属性IS更新)所以我假设我误解了一些东西。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我刚刚更新到v1.81.02并解决了这个问题。

即。中间部分导致textStim在屏幕上更新。

我很确定我之前的版本是在上一个版本。