[완료] glade 에서 tree위젯안의 나열된 열중 하나를 클릭시 이벤트 발생하게 하려합니다.

고양이를부탁해의 이미지

안녕하세요 ^_^

glade를 사용하는데 tree & list 위젯을 사용해 어떤 정보들을 나열하고

그 나열된 열중에서 하나를 클릭시 이벤트를 발생시키려고 합니다

버튼같은 경우는 clicked 시그널을 이용하면 되었는데

tree&list 위젯에서는 어떤 시그널을 사용해야 할지 모르겠습니다.

아시는 분들 좋은 말씀 부탁드려요 ^_^

cinsk의 이미지

GtkTreeView의 "cursor-changed" 시그널을 처리하면 됩니다.

현재 커서가 위치한 곳의 위치는 gtk_tree_view_get_cursor()를 써서 얻어낼 수 있습니다. 이 때 위치는 GtkTreePath * 타입이며, 이 위치에 있는 Model의 정보(셀 내용)를 얻으려면 gtk_tree_model_get_iter()를 써서 GtkTreePath * 타입에서 GtkTreeIter 값을 얻어내고, gtk_tree_model_get()을 써서 알아낼 수 있습니다.

--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/

고양이를부탁해의 이미지

정말 고맙습니다. 학교에서 팀프로젝트 과제로 내준건데 좀 헤매고 있었거든요!

정말 정말 감사합니다!! cinsk님 헤헤

--------------------
힘들면 즐겁다.


------------
힘들면 즐겁다.

고양이를부탁해의 이미지

cinsk님 덕분에 해결을 했습니다 정말 감사합니다 ^^

그런데 더 질문할 게 생겼어요.

gchar *string;
gtk_tree_model_get (model, &iter, SOURCEIP_COLUMN, &string,-1);

왜 string이 아니라 &string인가요??

string으로 해서 에러가 나서 이리저리 검색해보니 다들 &을 붙이더라구요

포인터의 개념이 제대로 서지 않아서 이해가 잘 안가네요 'ㅡ';;;

-------------
힘들면 즐겁다.


------------
힘들면 즐겁다.