第一个GTK+程序

第一个demo程序写出来了,觉得GTK+甚至更多的GUI编程语言,其原理都差不多,因为有Java基础学习门槛相对低一些。不会在GTK+的函数命名上很奇怪,为什么要那么多的_,完全可以按照常见的命名来啊。而且在函数命名的过程中,一定要注意加入个人的特别标示吧,因为很多的时候,起名是规范的但却占用了系统库的函数,如此不能得到想要的结果。


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

void button_print(GtkWidget *button,gpointer data){
printf("button is clicked,%s\n",(char *)data);
}

void window_quit(GtkWidget *window,gpointer data){
printf("window is destroy,%s\n",(char *)data);
gtk_main_quit();
}

int main(int argc,char *argv[]){

//build object
GtkWidget *window = NULL;
GtkWidget *button = NULL;
//init
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
button = gtk_button_new_with_label("button");
//set profile
gtk_window_set_default_size(GTK_WINDOW(window),300,200);
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
//add
gtk_container_add(GTK_CONTAINER(window),button);
//signal
g_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(button_print),\
"button clicked is running");
g_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(window_quit),\
"windows quit is running");

gtk_widget_show_all(window);
gtk_main();

return 0;
}


posted @ 2011-07-28 13:31  Podevor  阅读(277)  评论(0编辑  收藏  举报