GTK重拾--00

简介: 版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/49684029 (一):写在前面从现在开始,我准备学习GTK+2.
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/49684029

(一):写在前面

从现在开始,我准备学习GTK+2.0库进行linux下的界面程序开发.从我们程序员的角度来讲,接触到的第一个程序肯定是Hello World.所以,我们现在就从Hello World学起.在这里仅仅是构建了一个GTK+的空白窗口,主要的目的是先感受一下GTK+的开发,既然他是一个程序库,之前我又有过QTGui方面的开发经验,估计学习起来应该不是很费劲.

(二):初识GTK+

1:什么是GTK+

GTK+或者是称作GIMP套件,是一个创建图形用户接口的多平台工具套件.GTK+提供了一套完整的组件库,无论是小工具的开发还是一个大型应用的开发都是非常合适的.

2:可以在哪里使用

任何地方都可以使用GTK+.只要你的平台上安装有GTK+的图形库,就可以在任何平台上进行GTK+的开发和使用.GTK+是跨平台的,它提供了简单易用的API来加速你的开发时间.下面我们来看一下官网上提供的使用GTK+开发的程序的截图:

gnome-desktop

Gimp

3:GTK+支持的语言

GTK+虽然使用C编写,但是他现在已经被设计支持很多编程语言,不仅仅是C/C++.下面我们来看一下GTK+锁支持的语言列表:

这里写图片描述

4:GTK+进一步了解

GTK+是一个部件工具包.他是由C语言开发,使用GObject,一个用于C的面向对象的框架实现的.组件是在一个层次被组织的.窗口组件是主容器.用户接口是随后通过向窗口中添加按钮,下拉菜单,输入框和其他组件构建的.如果拟正在创建一个复杂的用户结构,推荐你使用GtkBuilder和他对用的GTK专用的标记描述语言,而不是手动的嵌入到接口中.你可以使用一个可视化的用户接口编辑器,就像Glade.

GTK是事件驱动的.套件监听事件,例如在一个按钮上的点击事件,并将事件传递到你的应用中.在开发GTK+应用程序之前,我们需要安装GTK+2.0的以来和库函数.

(三):Hello World

下面我们就需要新建一个C程序来编写一个最简单的GTK+程序.

1:新建一个hello.c文件
2:包含我们构建GTK+程序需要的头文件gtk/gtk.h
3:初始化整个GTK+程序
4:添加窗口
5:显示窗口
6:进入主循环

下面我们来看一下我们的代码:

#include <gtk/gtk.h>

int main(int argc,char *argv[])
{
    GtkWidget *window;

    // 初始化GTK+程序,必不可少
    gtk_init(&argc,&argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    // 生成窗体之后需要显示
    gtk_widget_show(window);

    // 相当于让程序进入主循环,等待事件的发生
    gtk_main();

    return 0;
}

(四):编译GTK+程序

当然,编译就比较简单了,使用GCC工具就可以编译.不过在这里需要一个工具,那就是pkg-config,他会为自动编译提供需要的include文件.好了,那么我们就使用下面的命令来编译我们的程序:

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

注意,这里将pkg-config引起来的是反引号.

(五):运行程序

编译完成之后我们就可以直接使用下面的命令来运行我们的程序:

./hello

这样,程序就成功运行了,我们来看一下运行的效果:

这里写图片描述

(六):写在后面

与其临渊羡鱼,不如退而结网。

我的代码已经上传到我的github,大家可以下载:
GTKGame源码下载

目录
相关文章
|
8月前
|
Linux 编译器 开发工具
【Linux取经路】基础开发工具——make(一)
【Linux取经路】基础开发工具——make(一)
58 0
|
8月前
|
存储 Linux 开发工具
【Linux取经路】基础开发工具——make(二)
【Linux取经路】基础开发工具——make(二)
51 0
【Linux取经路】基础开发工具——make(二)
|
10月前
|
存储 XML 安全
GTK入门
GTK入门
230 0
|
前端开发 Python
05_HUD_Qt_for_Python开发之路3
05_HUD_Qt_for_Python开发之路3
130 0
05_HUD_Qt_for_Python开发之路3
|
API C++ Python
04_HUD_Qt_for_Python开发之路2
04_HUD_Qt_for_Python开发之路2
128 0
04_HUD_Qt_for_Python开发之路2
06_HUD_Qt_for_Python开发之路4
06_HUD_Qt_for_Python开发之路4
123 0
06_HUD_Qt_for_Python开发之路4
03_HUD_Qt_for_Python开发之路1
03_HUD_Qt_for_Python开发之路1
114 0
03_HUD_Qt_for_Python开发之路1
|
Ubuntu Linux 网络安全
Ubuntu抛弃了Untiy转向Gnome,美化之路怎么办?不用怕咱一步一步大变身!
跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 常用软件安装+系统软件卸载:http://www.cnblogs.com/dunitian/p/6670560.
1023 0
|
Ubuntu
GTK+重拾--10 GTK+中的组件(二)
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/50442630 (一):写在前面 在上面一个小节中,我们讲解了在GTK+2.0中的一些常用的构件,在这一小节中,我们将继续学习GTK+中常用的稍微复杂的构件,这里我们主要是学习GtkComboBox,GtkEntry,GtkIconView,GtkImage,GtkSeparator,GtkStatusBar。
797 0

热门文章

最新文章