私の現在のプロジェクトでは、を使用して、行ごとに4つのフィールド、2つの文字列、anとaGtk.TreeView
のコンテンツを表示しています。TreeViewで行のドラッグアンドドロップ再配置を実装しようとしています。モデルからのデータの挿入と削除をある程度制御し、ドラッグアンドドロップ操作の元に戻す/やり直しを実装できるようにしたいので、組み込みのドラッグアンドドロップに単純に使用したくありません。Python3.2とPyGObject3を使用しています。ListView
int
boolean
TreeView.set_reorderable(True)
私が今抱えている問題は、ドラッグアンドドロップする行を構成するdrag_data_get
2つの文字列(intと1つ)を使用して選択データオブジェクトを設定する方法をメソッドで理解することです。bool
私が見つけたすべてのサンプルコードには、次のようなもので選択に設定される文字列値を持つ単一の列を持つツリービューが含まれています。
def drag_data_get_data(self, treeview, context, selection, target_id, etime):
treeselection = treeview.get_selection()
model, iter = treeselection.get_selected()
data = bytes(model.get_value(iter, 0), "utf-8")
selection.set(selection.get_target(), 8, data)
TreeView行の1つからのデータを使用して選択オブジェクトを設定するためのすべての努力が失敗しました。モデルのint
andbool
値は文字列値のようにエンコードできず、複数列のTreeView行のすべての値を単一の選択オブジェクトに設定する方法の例を見つけることができません。誰かが私にいくつかの関連する例やドキュメントを教えてもらえますか?