[GTK+]hello

这个范例是从Linux 视窗程式设计-使用GTK+ 与 Qt找到的范例

#include <gtk/gtk.h>

gint main(gint argc,gchar *argv[])
{
     GtkWidget *window,*button;

     gtk_set_locale();
     gtk_init(&argc,&argv);

     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     gtk_window_set_title(GTK_WINDOW(window),"嗨!GTK+");
     gtk_window_set_default_size(GTK_WINDOW(window),140,40);

     gtk_signal_connect(GTK_OBJECT(window),"destory",GTK_SIGNAL_FUNC(gtk_main_quit),NULL);

     button = gtk_button_new_with_label("hello!您好");
     // button = gtk_label_new("hello");
     gtk_container_add(GTK_CONTAINER(window),button);

     gtk_widget_show_all(window);
     gtk_main();

     g_print("bye\n");

     return(0);
}

不过课本的有一点小错误,已经用红色字型标注!

类似的范例应该可以再很多地方找到,但是我注意到作者有另外一个注解,满重要的,‘程式中以GTK+的gtk_xxx_new_这一类函式产生的物件,在应用程式结束时,会自动将这些物件所配置的记忆体清除,我们不必去清除它,也不用烦恼记忆体断层(leak)’,不过memory leak好像很多人都翻为记忆体泄漏,所以就看各人喜好了!

处理流程如下:

20080318.png