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

我们在终端上新建一个 .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 关闭程序。


源码下载请点击此处。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值