TabularAdapter 宣言に format = '%7.4f' のようなステートメントを追加することで、TabularAdapter のすべての列にフォーマットを適用できることがわかりました。
しかし、表の列ごとに異なる書式を設定したいのですが、可能でしょうか? 列インデックス 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 つの 10 進法 (結局のところ浮動小数点数) を持たせ、1 列目と 2 列目を単なる整数として表示することです。