2010-08-20 1 views
4

일부 데이터를 TreeView로 표시하고 있습니다. 특정 트리 뷰 셀의 클릭을 어떻게 감지하여 클릭 한 행의 열을 알 수 있습니까?gtk : TreeView에서 셀 클릭 감지

이것은 내가 원하는 작업이므로 더 좋은 방법이 있습니다. 데이터의 일부는 특정 옵션 집합을 나타내는 일련의 True/False 값입니다. 예를 들어, 옵션은 "작은, 중간, 큰, 큰"옵션 중 하나를 선택하여 표시 할 수 있습니다. 사용자가 "Small""Large"을 선택하면 셀에 "Small, Large"이 표시됩니다. 실제로 20 개의 옵션이 있기 때문에 각 열에 별개의 열을주고 싶지는 않습니다. 어떤 시점에서든지 2 또는 3 만 선택됩니다.

사용자가 셀을 클릭하면 체크 상자가있는 팝업이 표시됩니다. 그런 다음 사용자는 원하는 내용을 선택하고 변경 사항을 제출할 수 있습니다.이 시점에서 셀 값이 업데이트되어야합니다.

내가 생각한 가장 쉬운 방법은 셀의 클릭 (또는 두 번 클릭)을 감지하는 것입니다. 그런 다음 창을 팝업하고 창 제출 버튼을 눌러 원하는대로 할 수 있습니다.

답변

6

GTK TreeView 행을 두 번 클릭하면 row-activated 신호가 전송됩니다.

+0

"특정 트리 뷰 셀의 클릭을 어떻게 감지하여 어떤 행의 열을 클릭했는지 알 수 있습니까?"라는 대답은 분명하지 않습니다. 질문은 신호가 ** 행 활성화 **이고 분명히 열을 나타내지 않기 때문입니다. [행 활성화를위한 문서] (https://developer.gnome.org/gtk3/stable/GtkTreeView.html#GtkTreeView-row-activated)는 트리 함수와 경로를 통과 한 사용자 함수를 설명합니다 (행), 열 및 모든 사용자 데이터. –