長い間検索した後、Tab キーを使用してツリービュー グリッドのセル間を移動し、編集モードでセルを管理するソリューション (非常に簡単) を見つけました。
ここで問題が発生しました。セル編集の確認は、Enter キーを押した後にのみ発生します。Tab キーを押すと、editing_canceled イベントがトリガーされたように見えます。
それを解決する方法は?タブキー押下でもデータ確認を許可するには?
これは、treeview key-press-event のイベント ハンドラーです。
def key_tree_Tab(self, treeview, event,namewidget):
path, col = treeview.get_cursor()
## only visible columns!!
columns = [c for c in treeview.get_columns() if c.get_visible()]
colnum = columns.index(col)
if event.keyval==65289:
if colnum + 1 < len(columns):
next_column = columns[colnum + 1]
treeview.set_cursor(path,next_column,start_editing=True)
else:
tmodel = treeview.get_model()
titer = tmodel.iter_next(tmodel.get_iter(path))
if titer is None:
titer = tmodel.get_iter_first()
path = tmodel.get_path(titer)
next_column = columns[0]
treeview.set_cursor(path,next_column,start_editing=True)
return True
ありがとうございます!!!!