我正在尝试建立一个traitsui应用程序。作为这个应用程序的一部分,我监听用户输入的浮点值。默认情况下,此浮点的编辑器是一个启用了auto_的TextEditor。然而,当用户输入完这个数字后,程序会进行长时间的计算,所以当用户真的想输入1.7时,当程序听到新的特征1时,真的很烦人。在
我试图用TextEditor工厂的enter_set属性来解决这个问题。但是,当我这样做的时候,它根本不允许特征被更新,不管输入什么值,框都会显示为红色。这显然不是enter_set和auto_set的工作原理。我做错什么了?在
这是我的测试代码:from traits.api import *
from traitsui.api import *
class FloatEditorClass(HasTraits):
f=Float
click=Button('clickme')
view=View(Item('f',editor=TextEditor(auto_set=False,enter_set=True)),
# removing one or the other of these settings doesn't change anything
Item(name='click'))
def _click_fired(self):
print self.f
fec=FloatEditorClass()
fec.configure_traits()