Gtk3의 GtkTreeRowReference()
함수를 아무런 성공없이 호출하려고합니다. 여러 개의 레코드를 ListStore
에서 삭제하려면 관련된 TreeView의 선택을 사용하여 여러 모드로 설정하려고합니다. 각 ListStore
항목을 가리키는 곳에 TreeRowReference
을 저장하고 ListStore
항목을 삭제하려면 해당 항목을 선택 항목에서 이전에 도달 한 ListStore 항목으로 업데이트해야하기 때문에 해당 항목을 삭제하려고합니다. 나는 PyGtk 2에서 TreeRowReferences
을 사용하는 것에 대한 많은 언급을 발견했으며, PyGObject의 튜토리얼은 실제 사용법을 언급하고 있지만 실제 예제는 제공하지 않습니다. 나는 성공적으로 GtkTreeRowReference()
을 호출하는 많은 방법을 시도했다. 예를 들어 :Python에서 Gtk3 GtkTreeRowReference를 사용하는 방법
hit_rows = []
for row in range(len(self.selection.get_selected_rows()):
hit = self.selection.get_selected_rows()[row]
hit_row = Gtk.TreeRowReference(liststore, hit)
hit_rows.append(hit_row)
이 치명적인 오류 메시지를 생성합니다 : "TypeError: function takes at most 0 arguments (2 given)"
내 프로그램은 Gtk.TreeRowReference
라인을 칠 때. 선택 행에 이미 ListStore
에 대한 참조가 포함되어 있으므로 선택 행만 인수로 다시 시도했지만 함수가 여전히 0 인수를 주장하고 1 인수를 전달하려고했으나 불만을 표시했습니다.
hit_rows = []
for row in range(len(self.selection.get_selected_rows())):
hit = self.selection.get_selected_rows()[row]
hit_row = hit.GtkTreeRowReference()
hit_rows.append(hit_row)
이러한 노력은 파이썬 TreeRowReference
, Gtk_TreeRowReference
및 여러 가지 다른 변화로 호출 다양한 "AttributeError: 'ListStore' object has no attribute 'GtkTreeRowReference'."
에 대해 불평 같은 오류 메시지가 발생하는 자극 :
PyGObject/Gtk3에서 Gtk.TreeRowReference
을 사용하는 방법에 대한 단서를 남겨주 실 수 있습니까? Gtk에 익숙하지 않은 상대적으로 새로운 경험이없는 Python 프로그래머로서 의심 할 여지없이 숨막히는 것을 간과 한 적이 있지만 많은 인터넷 검색을 마친 후에도 난처한 상황입니다.
get_selected_rows() 문서를 참조하십시오. 반환 된 정보의 각 경로에 ctor를 사용해야하는 것 같습니다. – ergosys
감사합니다, ergosys, 나는 그것을 조사 할 것입니다. – knutsondc
get_selected_rows()가 반환 한 Gtk.TreePath 값을 얻을 수 있습니다. 내가 무엇을 할 수 있기를 바란다는 것은 그 반환 값을 사용하여 TreeModel의 내용을 변경하고자 할 때 문서가 제안한 것을 수행하는 것입니다. 즉 TreeRowReferences로 저장하면 아이템이 얻을 때 유효하게 유지됩니다. 삭제되거나 이동되었습니다. – knutsondc