初识 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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ASP.NET MVC 教程学习「建议收藏」

    ASP.NET MVC 教程学习「建议收藏」1.Why:为什么需要ASP.NETMVC本章主要为大家汇总了为什么学习Asp.netMVC替代WebForms,产生ASP.NETMVC的需求是什么,只有更好的理解了为什么需要MVC,出于什么目的开发的MVC框架,用MVC框架来弥补什么或是提升什么,才能利用其开发出最高效最满意的Web系统。 为什么会出现ASP.NET平台下的MVC框架?说明:本文摘自InfoQ,是作者JonathanAllen2007年发布的一篇的文章,首先描述了WebForms的优

  • 数据挖掘十大算法详解

    数据挖掘十大算法详解转自:https://wizardforcel.gitbooks.io/dm-algo-top10/content/index.html

  • iic电平转换电路_光耦电平转换电路图

    iic电平转换电路_光耦电平转换电路图

  • adb下载安装及使用[通俗易懂]

    adb下载安装及使用[通俗易懂]adb介绍:AndroidDebugBridge(安卓调试桥)tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。ADB是一个C/S架构的应用程序,由三部分组成:运行在pc端的adbclient:命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个A…

  • pycharm怎样编写java_Pycharm改进和编写代码[通俗易懂]

    pycharm怎样编写java_Pycharm改进和编写代码[通俗易懂]PyCharm包含用于编写代码的各种标准,其中包含适用于Python的适当缩进。这有助于提高代码标准并在PyCharm编辑器中编写完整的代码。改进代码完成PyCharm中的代码完成非常独特。您可以使用许多其他功能进一步增强它。请注意,编辑器提供了代码块的开始和结束。以下代码编写一个名为demo.py的文件中-message=’GIEWIVrGMTLIVrHIQS’#encrypte…

  • git 使用总结

    git 使用总结

发表回复

您的电子邮箱地址不会被公开。

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