2011-01-30 9 views
1

나는 목록보기와 같이 사용하고있는 gtk treeview를 가지고 있는데 사용자가 클릭 한 번 (클릭 한 번, 두 번 클릭하지 않고) 한 번의 항목을 클릭하면 활성화되는 콜백을주고 싶다. . 트리 뷰 위젯에 대한 활성화 된 콜백이 더블 클릭에 대해 활성화된다는 것을 알고 있으며, 전체 treeview 위젯에서 클릭 한 번에 gtk.gdk.event를 설정할 수 있었다면 내가 찾는 동작이 아닙니다. 더군다나 그 안에있는 cellrenderer 객체는 위젯 클래스를 상속하지 않으므로 위젯 클래스를 상속받지 못합니다. 특히 콜백을 줄 수는 없습니다. 누군가가 gtk treeview에서 항목을 한 번의 클릭으로 콜백하는 방법을 알려주시겠습니까?gtk 트리보기 단일 클릭 콜백

P. 모든 언어는 괜찮지 만 내 응용 프로그램이 작성된 이후로 파이썬을 선호합니다.

답변

1

트 리뷰를 사용하여 gtk.SELECTION_SINGLE 또는 gtk.SELECTION_MULTIPLE을 사용하는 경우 하나의 왼쪽 버튼을 클릭하면 해당 행이 선택됩니다. set_select_function을 사용하거나 changed 신호를 첨부하여이 이벤트에 연결할 수 있습니다.

+0

자, set_select_function을 사용했기 때문에 true를 반환하면 두 번 호출되고, 경로를 명시 적으로 선택하면 무한 루프가됩니다. 그것에 대해 할 수있는 일이 있습니까? – user381261

+1

@ user381261, SELECTION_SINGLE이있는 경우, 선택되는 행에 대해 한 번, 선택되지 않은 토글 인 행에 대해 한 번 두 번 호출됩니다. full = True를 사용하면 is_selected == False를보고 클릭 행을 결정할 수 있습니다. – Mark