나의 현재 프로젝트는 행 당 네 개의 필드, 두 개의 문자열, int
과 boolean
와 ListView
의 내용을 표시하는 Gtk.TreeView
을 사용하여 삭제합니다. TreeView에서 행 드래그 앤 드롭 재배치를 구현하려고합니다. 드래그 앤 드롭 작업의 실행 취소/다시 실행을 구현할 수있을뿐 아니라 모델에서 데이터 삽입 및 삭제에 대한 몇 가지 컨트롤을 원하기 때문에 내장 드래그 앤 드롭에 TreeView.set_reorderable(True)
을 단순히 사용하고 싶지 않습니다. . 나는 파이썬 3.2와 PyGObject 3을 사용하고있다.어떻게 트 리뷰 드래그에 대한 GtkSelection에 여러 항목을 설정하고
메서드는 두 개의 문자열, 하나의 int 및 하나의 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 행 중 하나가 실패했습니다. 내 모델의 int
및 bool
값은 문자열 값처럼 인코딩 할 수 없으며 다중 열 TreeView 행의 모든 값을 단일 선택 개체로 설정하는 방법에 대한 예제를 찾을 수 없습니다. 누구든지 몇 가지 관련 예제 나 문서를 가르쳐 줄 수 있습니까?
감사합니다. Json은 내가 필요한 것을했습니다. 드래그 앤 드롭은 "예상대로"정확하게 작동합니다. 위생 점검에 대한 경고 주셔서 감사합니다. 드래그 소스와 드래그 대상에 대한 관련 TargetEntry의 드래그 앤 드롭을 동일한 위젯으로 제한하고 있습니다. 거의 모든 악의적 인 사건을 예방해야합니다. – knutsondc
네, 충분히 안전해야한다고 생각합니다. 아마도 내 대답을 허용 된 것으로 표시해야합니다. 스택 오버 플로우에 대해 감사의 말을하는 방법입니다. :-) –