[완료] GTK 에서 combo_box 의 item 을 모두 삭제하려면.....

liveeasily의 이미지

안녕하세요...

GTK 를 이용하여 응용을 만들고 있습니다.

현재 두 개의 combo_box 가 유기적으로 동작하도록 하고 있습니다.

combo_box 1 이 "분류" 를 의미하고
combo_box 2 가 "분류에 의한 항목" 을 의미 합니다.

예를 들면 combo_box 1 이 "남자", "여자" 의 아이템을 갖는다고 할 때,
combo_box 2 는 combo-box 1 이 "남자"일 경우 "정우성", "장동건"의 아이템을 가지게 되고,
combo-box2 가 "여자"일 경우 "전지현, "김태희"의 아이템을 가지게 되는 것입니다.

combbox_box1 의 "change" 시그널을 등록하여 combo_box2 의 항목을 바꾸려고 하고 있습니다.

그러자면 기존의 combo_box2 의 항목들이 모두 지워져야 하는데요,

gtk_combo_box_remove_text 로는 아무래도 한계가 있습니다. 일괄적으로 아이뎀을 모두 지워주는 함수는 따로 없는 걸까요?

keedi의 이미지

GTK+ 에서는 MVC를 지원하니까 모델-뷰 관련 함수를 사용해보세요.
그러니까 gtk_combo_box_(set|get)_model() 함수를 한번 살펴보세요. :-)

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

Kim Do-Hyoung Keedi

----
use perl;

Keedi Kim

liveeasily의 이미지

다음과 같이 해결하였습니다. 혹시 저처럼 고생하실 분들을 위하여 :-)

GtkWidget *combo = gtk_combo_box_new();           
.
.
.
GtkListStore *store = NULL;
store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(combo)));
gtk_list_store_clear(store);