没事儿找事儿————gtk学习(Hello World)

           每一种语言的开始都是以hello world开始的,当然我们也不例外。        
#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已经实现了!

没事儿找事儿————gtk学习(Hello World)_第1张图片

你可能感兴趣的:(没事儿找事儿————gtk学习(Hello World))