window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
< x >
这里使用了程序 www.freedesktop.org 得到。这个程序读取 GTK 附带的 < -cflags TT GTK >列出 include 目录,< -libs> 列出编译连接库,也可以合在一起,像这样:< -cflags --libs>。
注意上面编译命令中使用的单引号类型是很重要的。(译者注:这里使用了“命令替换”。命令替换(command substitution)使得可以捕获一个命令的输出而在另一个命令中替换它。这个单引号不是回车键左边的那个,而是ESC键下面的那个。)
< func dawbr>ta gpointer func, GCallback *name, gchar const *object, g_signal_connect(<< gpointer func GCallback name gchar const object slot_object g_signal_connect_swapped>< g_signal_connect >< I>HELLO中的片段:
g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (window));
回调函数:
< gpointer callback_dawbr>ta *event, GdkEvent *widget, GtkWidget callback_func(<< gpointer event widget GtkWidget dawbr>ta GdkEventButton button_press_callback( gint<< destroy destroy gtk_widget_destroy hello NULL clicked >如果用窗口管理器去关闭窗口,它会引发 "delete_event"。这会调用我们的 "delete_event" 处理函数。如果我们在函数中返回 TRUE,窗口还是留在那里,什么事也不发生。返回 FALSE,会使 GTK 发出 "destroy" 信号,它当然会调用 "destroy" 回调,退出 GTK。
你或许发现前述示例中有几个地方需要解释。gint、gchar 等等。你看到的这些被分别定义类型别名(typedefs)到 int 和 char,它们是 GLib 系统的一部分。这用来避免在计算时对简单数据类型的大小(size)的依赖。
一个好的示例是,"gint32" 被定义为任何平台的32位整数,无论是64位的 alpha 还是32位的 i386。该类型定义非常直观。它们都在 < TT >
删除信号:
< gpointer gulong object g_signal_handler_disconnect>< g signal_handler_unblock g_signal_handler_block>< gpointer func GCallback dawbr>ta gulong object, g_signal_handlers_unblock_by_func( void ); g_signal_handler_unblock( g_signal_handlers_block_by_func( g_signal_handler_block(<< box vertical>< gtk_box_pack_end gtk_box_pack_start gtk_box_pack_end gtk_vbox_newgtk_box_pack_start gtk_hbox_new>< GtkWidget padding guint fill gboolean expand child box GtkBox gtk_box_pack_start>< gkt_box_pack_start FALSE expand TUREFALSE >fill 参数在 gtk_box_pack 中控制多余空间是分配给对象本身(TRUE),还是让多余空间围绕在这些对象周围分布(FALSE)。它只有在 expand 参数也为 TRUE 时才会生效。
< gint gboolean spacing homogeneous gtk_hbox_new>< papadding paddingSpacing gtk_vbox_newgtk_box_packTT homogeneous >