ZetCode

GTK# 介绍

最后修改于 2023 年 10 月 18 日

这是一个 GTK# 编程入门教程。本教程针对 C# 编程语言。它已在 Linux 上创建和测试。GTK# 编程教程适合初学者和中级程序员。 这是本教程中使用的 图像

GTK+

GTK+ 是一个用于创建图形用户界面的库。 该库是用 C 编程语言创建的。 GTK+ 库也称为 GIMP Toolkit。 最初,该库是在开发 GIMP 图像处理程序时创建的。 从那时起,GTK+ 成为 Linux 和 BSD Unix 下最流行的工具包之一。 如今,开源世界中的大多数 GUI 软件都是用 Qt 或 GTK+ 创建的。 GTK+ 是一个面向对象的应用程序编程接口。 该面向对象系统是用 Glib 对象系统创建的,它是 GTK+ 库的基础。 GObject 还允许为各种其他编程语言创建语言绑定。 存在 C++、Python、Perl、Java、C# 和其他编程语言的语言绑定。

GTK+ 本身依赖于以下库。

Glib 是一个通用的实用程序库。 它提供了各种数据类型、字符串实用程序,启用了错误报告、消息日志记录、线程处理和其他有用的编程功能。 Pango 是一个实现国际化的库。 ATK 是可访问性工具包。 此工具包提供了帮助身体残疾人士使用计算机的工具。 GDK 是对底层图形系统提供的低级绘图和窗口功能的封装。 在 Linux 上,GDK 位于 X Server 和 GTK+ 库之间。 最近,它的许多功能已被委托给 Cairo 库。 GdkPixbuf 库是一个用于图像加载和像素缓冲区操作的工具包。 Cairo 是一个用于创建 2D 矢量图形的库。 自 2.8 版本以来,它已被包含在 GTK+ 中。

Gnome 和 XFce 桌面环境是使用 GTK+ 库创建的。 SWT 和 wxWidgets 是使用 GTK+ 的知名编程框架。 使用 GTK+ 的主要软件应用程序包括 Firefox 或 Inkscape。

GTK#

GTK# 是 C# 编程语言的 GTK+ 封装。 该库有助于使用 Mono 或任何其他兼容 CLR 构建图形 GNOME 应用程序。 Gtk# 是一个事件驱动系统,就像任何其他现代窗口库一样,应用程序中的每个小部件都有处理程序方法,当发生特定事件时,这些方法会被调用。 使用 Gtk# 构建的应用程序将在许多平台上运行,包括 Linux、Microsoft、Windows 和 Mac OS X。 GTK# 是 Mono 计划的一部分。 Mono 中基本上有两个小部件工具包:Winforms 和 GTK#。 GTK# 被认为是 Linux/Unix 操作系统的原生工具包。

编译 GTK# 应用程序

我们使用 gmcs 编译器编译我们的 GTK# 应用程序。

$ gmcs -pkg:gtk-sharp-2.0 -r:/usr/lib/mono/2.0/Mono.Cairo.dll application.cs

上面的代码行编译了一个也使用 Cairo 库的 GTK# 应用程序。

来源

在本 GTK# 教程的这一部分中,我们介绍了 GTK# 库。