我遇到了RangeEditor
在TableEditor
.
from traits.api import *
from traitsui.api import *
class TableItem(HasTraits):
r=Range(1,6)
class Table(HasTraits):
t=List(Instance(TableItem))
def _t_default(self):
return [TableItem()]
traits_view=View(
Item(name='t',
editor=TableEditor( columns=[
ObjectColumn(label='Number',editor=RangeEditor(mode='spinner'),
name='r',editable=True)
]
),height=250,width=250,show_label=False))
Table().configure_traits()
这个程序产生的行为是范围只能在 0 和 1 之间调整。如果mode='spinner'
没有指定,它的作用就像范围是 0 和 1 之间的浮点数。当然,在上面的例子中,只要范围设置为0 吐出一个错误,因为该特征不接受除区间 [1,6] 以外的任何值。
这种行为很明显是一个错误,并且可能永远不会随着 enaml 的发展而得到修复。但是有一个简单的解决方法吗?