[gtk] radio button을 생성한 후.. toggle하면 출력이 두번 나옵니다.
글쓴이: assa / 작성시간: 금, 2006/01/13 - 10:13오전
radio button을 생성하고, 클릭하면 test()함수가 두번 호출됩니다.
원래 그런가요? 아니면 제가 잘못 코딩한 것인가요?
// packing에 대한 vBox, hBox 생성은 생략하였음.
GtkWidget *button= Make_RadioButton(hBox, "aaa", NULL);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
Make_RadioButton(hBox, "bbb", button);
<Make_RadioButton 함수>
GtkWidget * Make_RadioButton(GtkWidget *thBox, char *tName, GtkWidget *tRadioButton){
GtkWidget *radioButton= gtk_radio_button_new_with_label_from_widget((GtkRadioButton *)tRadioButton, tName);
gtk_box_pack_start(GTK_BOX(thBox), radioButton, true, true, 0);
gtk_widget_show(radioButton);
g_signal_connect(radioButton, "toggled",
G_CALLBACK(test), NULL
);
if(tRadioButton == NULL)
return radioButton;
else
return NULL;
}
<test 함수>
void test(){
g_message("toggled");
}
그리고 추가적인 질문으로, 위의 경우에서 radio button을 따로 변수로 두지 않고, GtkWidget *button 하나의 위젯으로 만들었는데요.
나중에 각각의 radio button을 찾으려면 어떻게 해야 하는지 궁금합니다.
활성화된 위젯 또는 임의의 위젯을 찾는 방법으론 어떤것이 있는지요?
Forums:


댓글 달기