您的位置:首页 > 其它

GTK入门学习:一个简单的空白窗口

2015-07-24 15:58 429 查看
我们在终端上新建一个 .c文件,如demo.c,在文件里写如下内容:



写完代码后,我们对代码进程编译,直接用gcc编译即可,但是需要加上`pkg-config --cflags --libs gtk+-2.0` ( ` 为数字1键前面的反引号 )。

因为用gcc直接编译,默认只找标准库,而我们刚才写的代码需要依赖GTK相应的库。

pkg-config 是一个为已经安装的包提供了include,以及实际库安装的位置编译选项的输出和管理的工具;

--cflags 选项作用为自动获得预处理参数,如宏定义,头文件的位置;

--libs 选项作用为自动获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数;

gtk+-2.0 选项作用为指定GTK版本。

具体编译命令如下:

gcc demo.c -o demo `pkg-config --cflags --libs gtk+-2.0`

编译结束后,我们运行程序,结果如下图的一个空白窗口。



接下来,我们一起来看一下代码的含义。

我们以后写GTK代码时基本上都看到这个一个框架:



头文件〈gtk/gtk.h> 包括了GTK+中所有的控件、变量、函数和结构的声明。

gtk_init (&argc, &argv); 所有 GTK应用程序都要调用该函数,而且必须在控件定义之前使用,它为我们设置一些缺省值( 例如视觉和颜色 )映射这个函数将函数库初始化,设置缺省的信号处理函数,并检查通过命令行传递给应用程序的参数,自动完成一些必要的初始化工作。

gtk_main()是在每个Gtk应用程序都要调用的函数。程序运行停在这里等待事件(如键盘事件或鼠标事件)的发生,等待用户来操作窗口。

而我们写的代码又是什么意思呢?

GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_window_new()的功能创建一个窗口并返回这个窗口的控件指针。GTK_WINDOW_TOPLEVEL指明窗口的类型为最上层的主窗口,它最常用。接着创建一个GtkWidget *类型的window变量来接收。GtkWidget是GTK+控件类型,GtkWidget * 能指向任何控件的指针类型。

gtk_widget_show(window);用来显示上一步创建的窗口控件。

在这个简单例子里,所有事件都被忽略。用鼠标点击窗口右上角的“×”按钮也不能将窗口关闭。我们可以在终端敲 Ctrl + C 关闭程序。

转自:/article/1500168.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: