我发现我可以通过在 TabularAdapter 声明中添加这样的语句来将格式应用于 TabularAdapter 中的所有列:format = '%7.4f'。
但是,我想为表格中的每一列设置不同的格式……这可能吗?我试图为列索引 2 指定格式(如下例所示),但它并不只适用于该列。我一直在寻找如何正确执行此操作,但到目前为止一无所获。
这是一个小示例文件:
from traits.api import HasTraits, Array
from traitsui.api import View, Group,Item, TabularEditor
from traitsui.tabular_adapter import TabularAdapter
from numpy import dtype
test_dtype = dtype([('Integer#1', 'int'), ('Integer#2', 'int'), ('Float', 'float')])
class testArrayAdapter(TabularAdapter):
columns = [('Col1 #', 0), ('Col2', 1), ('Col3', 2)]
even_bg_color = 0xf4f4f4 # very light gray
width = 125
class test(HasTraits):
test_array = Array(dtype=test_dtype)
view = View(
Item(name = 'test_array',
show_label = False,
editor = TabularEditor(adapter = testArrayAdapter()),
),
Item(name = 'test_array',
show_label = False,
editor = TabularEditor(adapter = testArrayAdapter(column=2, format='%.4f')),
),
)
Test = test()
Test.test_array.resize(5, refcheck = False)
Test.configure_traits()
我想看到的是让第 3 列有 4 个小数(毕竟它是一个浮点数),而第 1 列和第 2 列仅显示为整数。