반응형
gtk+2.0을 이용한 예제코드입니다.
버튼을 하나 생성하고 이벤트 핸들러에
등록하여 터미널에 메시지를 출력하는
코드입니다.
개발환경
Gentoo Linux 2.6.29-r5
gcc 4.3.3
에서
우분투 9.04 (본인)
로 변경
버튼을 하나 생성하고 이벤트 핸들러에
등록하여 터미널에 메시지를 출력하는
코드입니다.
개발환경
Gentoo Linux 2.6.29-r5
gcc 4.3.3
에서
우분투 9.04 (본인)
로 변경
#include <stdio.h>
#include <stdlib.h>
#include <gtk-2.0/gtk/gtk.h>
int destroy_func(GtkWidget *widget, gpointer gdata)
{
g_print("quit....\n");
//gtk 프로그램 종료
gtk_main_quit();
return FALSE;
}
void button_is_clicked(GtkWidget *widget, gpointer gdata)
{
g_print("button is clicked!\n");
}
int main(int argc, char **argv)
{
GtkWidget *w;
GtkWidget *button;
gtk_init(&argc, &argv);
//window 생성
w = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//종료시 callback function 등록
gtk_signal_connect( GTK_OBJECT(w), "delete_event",
GTK_SIGNAL_FUNC(destroy_func), NULL);
//button 생성
button = gtk_button_new_with_label("Click me");
//button 클릭시 callback function 등록
gtk_signal_connect( GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(button_is_clicked), NULL);
//button을 담을 container설정
gtk_container_border_width(GTK_CONTAINER(w), 15);
//button을 container에 추가
gtk_container_add(GTK_CONTAINER(w), button);
gtk_widget_show(button);
//window 사이즈 설정
gtk_window_set_default_size(w, 200, 100);
gtk_widget_show(w);
//gtk 메인 루프
gtk_main();
return 0;
}
출처 - http://exsuperstar.net -
반응형