一个简单的GTK+程序

#include  < gtk / gtk.h >
#include 
< stdlib.h >
#include 
< stdio.h >

static   int  count  =   0 ;

void  button_clicked ( GtkWidget  * button, gpointer data)
{
    printf(
"%s pressed %d times  ",(char *)data,++count);
}

void  closeApp(GtkWidget  * window,gpointer data)
{
    gtk_main_quit();
}

int  main( int  argc, char   * argv[])
{
    GtkWidget 
*window;
    GtkWidget 
*button;
    gtk_init(
&argc,&argv);
    window 
= gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_window_set_title(GTK_WINDOW(window),
"the_window_title");
    gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
    gtk_window_set_default_size(GTK_WINDOW(window),
300,200);

    g_signal_connect(GTK_OBJECT(window),
"destroy",GTK_SIGNAL_FUNC(closeApp),NULL);

    button 
= gtk_button_new_with_label("hello,i am a button");
    gtk_container_add(GTK_CONTAINER(window),button);

    g_signal_connect(GTK_OBJECT(button),
"clicked",GTK_SIGNAL_FUNC(button_clicked),"BUTTON 1");
    gtk_widget_show(button);
    gtk_widget_show(window);
//    gtk_widget_show_all(window);

    gtk_main();
    
return 0;
}
all:    myapp

CC 
=  gcc
INCLUDE 
=  .
CFLAGS 
=  `pkg - config  -- cflags  -- libs gtk +- 2.0 `
CFLAGS2 
=  `pkg - config  -- cflags gtk +- 2.0 `
myapp:    testGtk1.o
    $(CC) 
- o myapp testGtk1.o  - I$(INCLUDE) $(CFLAGS)
testGtk1.o:    testGtk1.c
    $(CC) 
- c testGtk1.c  - I$(INCLUDE) $(CFLAGS2)
clean:
    
- rm  * .o
 

你可能感兴趣的:(一个简单的GTK+程序)