#include<gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Hello World"); gtk_widget_show (window); gtk_main (); return 0; }
编译这段程序使用的工具是gcc,执行以下命令就行
gcc helloworld.c -o helloworld `pkg-config --cflags --libs gtk+-2.0` 要注意的是pkg-config和gtk+-2.0前后的符号不是单引号。
<gtk/gtk.h> 包含了所有的窗体小部件、变量、函数和可用的结构gtk头文件也可能来自其他的库,例如<glib/glib.h>和<gdk/gdk.h>
大多数情况下gtk应用程序只需要<gtk/gtk.h>就够了。
对于gtk库的初始化是非常简单的,只要调用gtk_init()函数就行了,函数的参数是main函数参数的地址。初始化工作是完全自动的。
初始化工作主要是设置gtk环境,包括GDK渲染、GLib消息循环和基本信号的处理。如果初始化工作需要做的太多那么你需要自己创建
自己的初始化函数。你可以看开源库的源代码是怎么进行初始化的gtk应用程序的初始化是很有帮助的看看在gtk_init()中做了些什么事情、
你也可以选择在你的程序运行之前需要做些什么。做这些工作需要你深入了解每一个库的使用和关联。
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);创建一个GtkWindow对象,gtk_window_new()返回一个指
向GtkWidget指针。在gtk+中每一个widget实际上是GtkWidget自身。
void gtk_window_set_title (GtkWindow *window,const gchar *title);为窗体设置标题,第一个参数是被设置的窗体必须是GtkWindow
类型的,所有需要用GTK_WINDOW()转换一下,第二个参数是要设置的标题。类型gchar和标准C的char一样,在gtk中是用typedef char gchar;
void gtk_widget_show (GtkWidget *widget);一切ok就可以调用这个函数在桌面上显示窗体了。
void gtk_widget_hide (GtkWidget *widget);相反这个是隐藏一个窗体。
gtk_main();当所有的初始化和必要的信号连接完成时调用这个函数。这个函数应该是在main()中被最后一个调用的函数。直到调用到
gtk_main_quit()才结束。
到此你的第一个helloworld已经实现了!