gtk 프로그래밍에서 윈도우 종료 방법이 어떻게 되나요?

lowid의 이미지

막 Gtk 플밍을 공부하는 초보입니다...

기본적인? 윈도우 종료 방법에는

gtk_main_quit();

가 있는것으로 아는데요...

이 방법을 쓰면... 문제가

메인(부모) 윈도우에서 차일드 윈도우를 생성시켰는데 일이 끝나서

이 차일드 윈도우를 종료시키려고 할때 이함수를 쓰니까,..

제대로 작동을 하지 않네요.. 처음엔 먹통이다가 나중엔 메인 윈도우가 종료 되어버려서요..

궁여지책으로 gtk_widget_hide_all() 함수를 이용해서 차일드 윈도우를 감추어 봤지만...

이렇게 하니까는 메인 윈도우가 종료되도 프로그램이 종료가 되지 않더군요.. (hide니까 당연하지만요; )

정해진 윈도우 하나만 없애버리는 방법이 있나요?

아 그리고 gtk를 하면.. 어떤곳에다 응용할수 있을까요?
리눅스 데스크탑의 범위를 제외하고 말입니다.

하나더..

gtk_text_insert 를 쓸때 한글을 어떻게 넣나요? 텍스트 박스에 영어는 잘되는데 한글만 깨져서 나와서요

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

1. 메인 윈도우의 delete_event 시그널에 gtk_main_quit을 실행하는 콜백을 연결하면 됩니다.
(GTK 튜토리얼의 Hello world 예제에도 있는 부분이군요. http://gtk.org/tutorial/c58.html#SEC-HELLOWORLD)

2. 아시다시피 GTK+는 윈도우에서도 사용할 수 있습니다. 메신저 클라이언트인 Gaim이나 IRC 클라이언트 X-Chat, 네트워크 모니터링 도구 Ethereal 등은 윈도우 데스크탑에서도 많이 사용되어지고 있습니다.

3. GtkText는 더이상 사용되지 않는 위젯입니다. 대신 GtkTextView를 사용하세요.
혹시 GTK+ 1.2 기준으로 프로그래밍을 하고 계시다면, 2.0에 맞춰서 다시 작성하셔야 할 것 같네요. :)

lowid의 이미지

답변 감사합니다 ~~

g_signal_connect (GTK_WINDOW(window),"clicked",GTK_SIGNAL_FUNC(gtk_widget_destroy),GTK_OBJECT(window));

<버튼 눌러서 윈도우 종료시키기>

이렇게 하면 닫을수가 있네요

윈도우도 위젯의 하나라은 사실을 잊어버리고 있었던 ........

gtk_widget_destroy로 윈도우위젯을 없애는것을 생각하지 못했군요 ;

근데 저기있는 gtk튜토리얼은 kldp에서 번역한거랑은 좀 다른거 같군요.. 그림도 있고...

GtkTextView하니까는 한글도 깨지지 않고 잘 나오는군요~

---------------------------------------------
아치리눅스좀 써주세요
-> 아치리눅스 유저 좀 꼬셔오세요. 1인당 10명!