初识 GTK

初识 GTKGTK+是一种函数库是用来帮助制作图形交互界面的。整个函数库都是由C语言来编写的。GTK+函数库通常也叫做GIMP工具包。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、什么是GTK+

    GTK+ 是一种函数库是用来帮助制作图形交互界面的。整个函数库都是由C 语言来编写的。 GTK+函数库通常也叫做 GIMP 工具包。因为,一开始GTK+是用来编写“GIMP”–这个图形处理软件的。从那以后, GTK+就逐渐成为了Linux and BSDUnix 下最受欢迎的用于图形交互界面(GUI)设计的工具包之一。时至今日,大多数的Linux 下的GUI 软件(有图形交互界面)都是由GTK+或者QT 来编写的。GTK+是一种面向对象式的API(applicationprogramming interface)。Glib 是GTK+的基础,而这种“面向对象系统”正是由“Glib”来提供的。GObject 也就是这种面向对象的机制可以为 GTK+绑定很多种开发语言。目前存在的语言有:C++, Python, Perl, Java, C#,PHP,等其他高级语言。
GTK+ 和以下“函数库”存在着依赖关系
   • Glib
   • Pango
   • ATK
   • GDK
   • GdkPixbuf
   • Cairo
   Glib 是一种通用的函数库。她提供了各种各样的语言特性,譬如说:各种数据类型,字符串函数,错误通知,消息队列和线程。Pango 是一种函数库,用来实现国际化和本地化的功能。ATK是一种平易近人的工具函数包,她提供了快捷键服务为肢体有缺陷的人使用电脑提供了便利。GDK 是一种函数库,她为整个GTK+图形库系统提供了一些底层的“图形实现”和“窗口实现”的方法。在Linux 中GDK 是位于X 服务器和GTK+函数库之间的。在最近的GTK+发行版本中,越来越多的功能性函数,都交给了Cairo 函数库来处理。GdkPixbuf 函数库是一种函数库工具包用于加载图像和维护图像“缓存”的(pixel buffer)。Cairo 是一种函数库用于制作二维图像。从GTK+2.8 版本以后,Cairo 就正式成为GTK+系统中的一员了。Gnome and XFce 桌面环境系统都是用GTK+来编程实现的. SWT and wxWidgets 是种很著名的编程框架,也是用GTK+来编程实现的。最杰出的GTK+软件的代表是Firefox (火狐浏览器)和 Inkscape。

二、安装GTK+开发环境

1. 安装code::blocks
  linux:  http://www.codeblocks.org/downloads/26#linux64 我下载的是centos版的
  windows:  http://www.codeblocks.org/downloads/26#linux64 可直接选择带minGW的版本

2.安装GTK+(YUM安装)

  linux:  

yum install gtk2 gtk2-devel gtk2-devel-docs

Jetbrains全家桶1年46,售后保障稳定

  windows:
     http://www.gtk.org/download/win32.php 下载all-in-one bundle 安装即可

3.配置code::blocks中的GTK+编译器
  现在安装了gtk后,可以用pkg-config –list-all 查看,其中应该包含一个gtk+-2.0.
  在code::blocks中 默认的编译器是GNU GCC Compiler,我们为 GTK单独设置一个编译器:
  Settings -> Compiler settings ,选择GNU GCC Compiler 然后点击 copy ,输入一个gtk编译器的名称:GUN GCC Compiler GTK2.0,并设置为默认编译器,点击 set as default .然后在 Compiler settings -> Other options -> 添加`pkg-config –cflags gtk+-2.0`(目的是添加include),在linker settings -> Other linker options 中也添加 pkg-config –libs gtk+-2.0`(目的是添加lib),如果在windows下运行时候可能会报错,如果缺少zlib1.dll ,放在 工程/bin/Debug下即可。

 

4.测试一下环境是否正确
 在codeblocks中新建一个工程,选择上面新添加的编译器(GUN GCC Compiler GTK2.0),然后在main.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 0;
}

编译并执行出现一个空白窗体(linux下在命令行下执行),即代表gtk+的开发环境配置成功了。顺便说下可以直接用gcc命令行生成:
gcc -o hello-world main.c  `pkg-config –cflags –libs gtk+-2.0`

下面是在windows 7 和 linux(centos) 下的效果

 初识 GTK初识 GTK

 

转自:http://www.cnblogs.com/ikodota/archive/2013/03/08/step_by_step_study_gtk_opening.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234910.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tar 打包隐藏文件[通俗易懂]

    tar 打包隐藏文件[通俗易懂]前言:先说一下遇到的场景:前段时间在配合做DevOps,组内有块代码是php的,需要用tar命令打包归档上传到nexus库,后来发现解压出来的包居然缺失了隐藏文件(配置文件),查了一下资料解决了,这里记录一下。1.tar命令常规用法-c 创建新的档案文件-C 指定到要解压到的目录。注意:该目录必须存在-f 指定打包的文件名。在f之后要立即接打包文件名!不能再加参数!-x 解压-O 将文件解压到标准输出-p 使用原文件的原来属性-P 创建归档文件,使用绝对路径-t 列出档

    2022年5月31日
    62
  • idea2021.10激活码永久【2021最新】

    (idea2021.10激活码永久)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSWQi…

    2022年3月27日
    43
  • 布隆过滤器原理及应用场景分析_布隆过滤器 数据更新怎么办

    布隆过滤器原理及应用场景分析_布隆过滤器 数据更新怎么办https://www.cnblogs.com/qdhxhz/p/11237246.html开发一个电商项目,因为数据量一直在增加(已达亿级),所以需要重构之前开发好的秒杀功能,为了更好的支持高并发,在验证用户是否重复购买的环节,就考虑用布隆过滤器。也顺便更加深入的去了解下布隆过滤器的原理,感觉还是蛮有意思的,这一连串的公式不静下心来思考,很容易被绕晕。一、概述1、什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构,特点是高效地插入和查询。根据查询结果可以用来告

    2022年10月6日
    3
  • js模拟时钟

    js模拟时钟js 模拟时钟 functionshow vardate newDate this year date getFullYear this month date getMonth 1 this date date getDate this day newArray 星期日 星期一 星期二 星

    2025年6月17日
    0
  • kafuka 的安装以及基本使用

    kafuka 的安装以及基本使用最近因为项目需要所以需要使用kafka所以自己最近也实践了下。下面为大家简单介绍下在windows下的安装使用因为它是基于zookepper的使用也要安装zookepper1.安装ZookeeperKafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper1.1下载安装文件:http://mirror.bit.edu.cn/apache…

    2022年6月11日
    45
  • 如何修改opkg 源

    如何修改opkg 源http://downloads.openwrt.org.cn/上面的链接是openwrt国内的源,但是只有适合以下几个系统的源Hacked/18-Jun-201413:58-OpenWrt-DreamBox/01-J

    2022年5月9日
    207

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号