在程序开始我们先定义了一个窗体,然后用函数gtk_init初始化GTK+库。用函数gtk_window_new创建一个窗体,用get_widget_show显示该窗体。程序最后调用gtk_main()进入主循环,等待各种事件的发生。
一、初始化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(GtkWindowType type)
参数:
GTK_WINDOW_TOPLEVEL 普通窗口
GTK_WINDOW_POPUP 弹出式窗口
返回值:
指向一个新窗口的指针
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);
参数:
无
返回值:
无
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。