• GTK+图形化应用程序开发学习笔记


    http://blog.chinaunix.net/u/22935/showart_305786.html
    一、初始化
    GTK+

           GTK+程序需要调用gtk_init函数对GTK+ 库函数进行初始化。

    1

    名称:

    gtk_init

    功能

    初始化GTK+

    头文件

    #include <gtk/gtk.h>

    函数原形

    void gtk_init(int *argc,char ***argv);

    参数

    argc    指向主函数argc的指针

    argv    指向主函数argv的指针

    返回值

          

     

     

     

     在你程序使用到GTK+工具库之前,必须对它进行初始化。gtk_init可以初始化GTK+工具库。gtk_init的参数的指向主函数argc,argv的指针,它可以改变一些不满足GTK+函数要求的命令行参数。

           因为gtk_init函数没有返回值,所以如果在初始化过程中发生错误程序就会立即退出。

                                                      

    2

    名称:

    gtk_init_check

    功能

    初始化GTK+

    头文件

    #include <gtk/gtk.h>

    函数原形

    gboolean gtk_init_check(int *argc,char ***argv);

    参数

    argc    指向主函数argc的指针

    argv   指向主函数argv的指针

    返回值

    成功返回TURE,出错返回FALSE

          

     

     

     

     还有一个GTK+库初始化函数gtk_init_check,它的作用和gtk_init完全相同。唯一的区别是gtk_init_check有返回值,可以判断初始化是否成功。

     

    二、建立窗口

           GTK+的构件是GUI的组成部分。窗口、检查框、按钮和编辑字段都属于构件。通常将构件和窗口定义为指向GtkWidget结构的指针。在GTK+中,GtkWidget是用于所有构件和窗口的通用数据类型。

           GTK+ 库进行初始化后,大多数应用建立一个主窗口。在GTK+中,主窗口常常被称为顶层窗口。顶层窗口不被包含在任何其他窗口内,所以它没有上层窗口。在GTK+ 中,构件具有父子关系,其中父构件是容器,而子构件则是包含在容器中的构件。顶层窗口没有父窗口,但可能 成为其他构件的容器。

           GTK+中建立构件分两步:建立构件,然后使它可以看得见。gtk_window_new函数负责建立窗口。gtk_widget_show函数负责使它成为可见。

          

    2.

    名称:

    gtk_window_new

    功能

    建立窗口

    头文件

    #include <gtk/gtk.h>

    函数原形

    GtkWidget * gtk_window_new(

    参数

     

    返回值

     

     

     

     

     

     

     

     

     

    3.

    名称:

    gtk_widget_show

    功能

    显示窗口

    头文件

    #include <gtk/gtk.h>

    函数原形

    gtk_widget_show( GtkWidget *window)

    参数

     

    返回值

     

     

     

     

     

     

     

     

     

     

    三、GTK+的事件循环

           GTK+进行初始化并将窗口和构件置于屏幕以后,程序就调用get_main函数等待某种事件的执行。

     

    4.

    名称:

    gtk_main

    功能

    等待事件的发生

    头文件

    #include <gtk/gtk.h>

    函数原形

    void gtk_main(void);

    参数

    返回值

     

        

     

     

     

       我们在来看看第一章的程序。也许大家就会理解上面函数的作用了。

    /*base1.c*/

    #include <gtk/gtk.h>

                                                                                                                                                 

    int main(int argc, char* argv[])

    {

    GtkWidget *window;

       gtk_init(&argc,&argv);

       window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

       gtk_widget_show(window);

       gtk_main();

       return FALSE;

    }

     

    $ gcc -o base1 base1.c 'pkg-config --cflags --libs gtk+-2.0'

           $./base1

     

    程序开始定义了一个窗体,然后用函数gtk_init初始化GTK+库。用函数gtk_window_new创建一个窗体,用get_widget_show显示该窗体。程序最后调用gtk_main()进入主循环,等待各种事件的发生.

           注意该程序不能正常退出,原因是程序没有回呼函数。关于回呼函数我们将会在下面介绍。

     

     

    四、结束应用程序

    5.

    名称:

    gtk_main_quit

    功能

    结束应用程序

    头文件

    #include <gtk/gtk.h>

    函数原形

    void gtk_main_quit(void);

    参数

    返回值

           gtk_main_quit函数可以结束程序 ,它通常在回调函数中被调用。下面我们介绍回调函数。

  • 相关阅读:
    MIPI DIsplay Panel And Linux Driver Model【转】
    Vim|多行行尾插入【转】
    LCD之mipi DSI接口驱动调试流程【转】
    Linux中的DRM 介绍【转】
    linux DRM driver 使用示例【转】
    从零开始写设备树DTS【转】
    linux内核中的宏ffs(x)【转】
    procps工具集 ----Linux中的可用内存指的是什么?【转】
    ps命令交叉编译【转】
    交叉编译Procps-ng-3.3.11【转】
  • 原文地址:https://www.cnblogs.com/cy163/p/778529.html
Copyright © 2020-2023  润新知