4

以下に示すように、次のデータを持つMyTreeという GTk TreeView があります。

DTime  ATime Transfer Platform

14:30    15:20    0       2a

14:50    15:40    0       14b

15:00    16:00    2       3a

ご覧のとおり、3 つの行と 4 つの列があります。したがって、選択した行を取得する必要があります。これを行ったのは、

selection = MyTree.get_selection()
selection.set_mode(Gtk.SelectionMode.BROWSE)
model, iter = selection.get_selected()

この時点で、現在選択されている行を指すツリー iter を返します。これで問題ありません。ただし、 iter が行0、1、または2を指しているかどうかを知りたい.

これを明確にしたことを願っています。行反復ではなく、行インデックスが必要です。行番号を取得するにはどうすればよいですか?

4

1 に答える 1

5

BROWSE 選択モードになっているので、選択された行が 1 つしかないことがわかります。次に、最初に選択したアイテムへのパスを取得できます

path = iter.get_selected_rows()[0]

次に、ツリーが 1 つのレベルしかない場合 (たとえば、ネストされたツリーではない場合)、次のようにパスからインデックスを取得できます。

index = path.get_indices()[0]

複雑に思えますが、これは、選択に多くの行が含まれている可能性があり (これがリストを返す理由です)、ツリーが多くのレベルを持つことができるためです (これがパスを返す理由です)。

于 2013-02-06T17:04:37.850 に答える