技术文章翻译(六) -- 基于GTK+创建一个GUI程序

本人声明

1.本栏仅为归档自己看到的优秀文章;
2.文章版权归原作者所有;
3.因为个人水平有限,翻译难免有错误,请多多包涵。

原文地址

https://www.codeguru.com/cpp/cpp/creating-a-cc-gui-with-gtk.html

文章正文

基于GTK+创建一个GUI程序

作者: Manoj Debnath 发表于:2017.04.21
支持GUI开发是许多语言的核心功能之一。 C/C++标准语言并没有提供这种附属的库,就像我们使用的字符串库,IO库等等。这个缺点为开发人员提供了选择空间,开发者可以从众多能用语C/C++的GPU开发包中挑选合适的库。GTK+就是其中之一。它代表GIMP(GNU Image Manipulation Program)工具包,可用于编程现代GUI界面。

概述

GTK+的优势在于它的稳定和成熟,它的起源可以追溯到X Windows时代,同时它构建了当今Linux系统的核心GUI功能。 GTK完全用C语言编写,我们在Linux中常用的GTK+软件也是用C编写的。桌面管理器(如GENOME和XFCE)也是用GTK构建的。 GTK支持多种编程语言绑定,具体如下所示:

GTK与Python的绑定,叫做PyGTK
GTK与Java的绑定, 它与gtkmm非常相似
GTK与C++的绑定, 它是GTK+的官方C++绑定
GTK与Perl的绑定
GTK 与PHP的绑定
GTK 与C#的绑定,通过mono项目

GTK+应用程序不仅局限于Linux平台运行;它也可以移植到非UNIX / Linux平台上。

入门

在这里,我们将坚持使用GTK+的基本形式,它是Linux平台上的C的化身。GTK+下载的官方网站是https://www.gtk.org。该站点包含API文档,教程和其他常与GTK一起搭配使用的Gnome库。事实上,GTK就是建立在库之上的,例如:

Glib:它是一个通用实用程序库,支持线程、动态加载、事件循环、基本数据结构等功能。
GObject:这个库在不使用C++的情况下,在C语言中提供全功能的面向对象支持。该库有助于其他语言创建的语言绑定,使您可以轻松调用C接口。
Pango:这个库支持文本和布局渲染。
ATK:该库提供了对创建辅助工具(如粘滞键,屏幕阅读器等)的支持。
GDK(GIMP Drawing Toolkit):这是在Xlib之上提供底层绘图功能的图形库。
GdkPixBuf:该库提供图像处理功能。
Xlib:该库为Linux系统提供底层图形支持。

使用GTK编写代码时,我们经常发现许多基本数据类型都以’g’为前缀,如gint,gchar,gshort,gpointer等。这些数据类型确保可以在任何平台上,只需要重新编译代码而无需进行任何更改。这些数据类型在这些库中定义,有助于跨平台开发。

GUI编程的主要问题在于它本质上是面向对象的。因此,面向过程范式并不完全适合该方案。正是这个原因,尽管GTK是用C语言编写的,但它通过GObject库提供了对面向对象的支持。请注意,这种面向对象的支持与C ++无关。 C++有自己的GTK库

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值