2

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 列目を単なる整数として表示することです。

4

1 に答える 1