新建一个名为 的文件,写入如下内容:
然后在终端输入以下命令用GCC编译程序:
所有的GTK+程序必须包括gtk/gtk.h
,这个头文件声明了GTK+程序需要的函数、类和宏。
调用gtk_window_new()
函数将会创造一个新的并将其储存在window
变量中。并且,这个窗体的类型是GTK_WINDOW_TOPLEVEL
,这也就意味着这个GtkWindow
将会被当前的系统管理:这个窗体将会根据不同的系统平台产生一个框架、一个标题栏和窗口控件。
当GtkWindow
被破坏时,我们将“destroy”
信号连接到gtk_main_quit()
函数以终止这个程序。这个函数将会在之后终止由函数启动的GTK+程序的主循环。“destroy”
信号会在一个窗口部件被破坏时触发,也会是在调用gtk_widget_destroy()
或者在这个窗口部件失去母体控件时触发。最顶端的GtkWindows会在关闭按钮被点击时被破坏。
GtkWidgets默认是隐藏的,通过在一个控件上调用gtk_widget_show()
,我们将能设置其为可见。所有这些工作都将在主循环开始后被完成。
最后一行调用了gtk_main()
。这个函数就会启动GTK+程序的主循环并且在gtk_main_quit()
函数被调用之前都阻止main()
的控制流。
下面这个例子有点复杂,它将展示GTK+的能力。按照程序设计语言和库的古老传统,这个程序也叫。
Example 1. Hello World in GTK+
新建一个名为 example-1.c
的文件,写入如下内容:
然后在终端输入以下命令用GCC编译程序: