`
liujianguangaaa
  • 浏览: 237153 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论
阅读更多

GTK+最初是GIMP的专用开发库,后来发展为Unix-like系統下开发图形界面的应用程序的主流开发工具之一。GTK+是自由软件,并且是GNU计划的一部分。GTK+的许可协议是LGPL

目录

 [隐藏]

[编辑]编程语言

GTK+使用C语言开发,但是其设计者使用面向对象技术。 也提供了C++gtkmm)、PerlRubyJavaPython(PyGTK)绑定,其他的绑定有AdaDHaskellPHP和所有的.NET编程语言。

与其他很多部件工具箱不同,GTK+ 并不基于Xt。这一决策优劣互见:优点是GTK+ 可以应用于其他系统,其灵活性也很强;而缺点就是它无法利用以传统方法为X11定制的X资源数据库。GTK+ 最早應用於X Window System,如今已移植至其他平台,諸如Microsoft WindowsDirectFB,以及QuartzMac OS X.

Glade是一个界面设计工具,但是它也包含了一种描述GUI界面的XML语言,它和libglade一起工作就可以直接使用GTK和GNOME控件;新的Glade-3不再直接支持生成编程语言源代码

使用

使用GTK的環境
  • GNOME是以GTK+為基礎,就是說為GNOME編寫的程式使用GTK+ 做為其工具箱。
  • Xfce也基於GTK+,但是它的應用程式並不對很多其他程式有依賴。(這就是"GNOME程式"和"GTK+程式"的不同。)
  • LXDE也基於GTK+。
  • GPE Palmtop環境和Nokia互聯網平板電腦的框架Maemo基於GTK+。

這只是一部分,另外GTK+ 也可以運行在KDE的環境下。而且GTK+ 也可以在Microsoft Windows運行,另外還有DirectFBncurses

使用GTK的窗口管理器

[编辑]GTK+优秀应用程序

以下程序都是使用GTK+开发、属于开源软件,可以运行于LinuxUnixWindowsMac等多种操作系统平台上。


图形无关代码

最初GTK+包括一些和图形无关的常规功能,如链表二叉树数据结构。这些基本功能和对象系统GObject已经合并到独立的Glib,它被程序员专门用于开发不需要图形界面的代码。

[编辑]GTK+ 2

2002年3月11日,GTK+2.0版正式发布。GTK+ 2是GTK+ 后继版本,其新特性包括使用Pango改进的文本渲染、新主题引擎、使用ATK改进的可达性、完全转换到使用UTF-8Unicode和更灵活的API。但是它和GTK+ 1不完全兼容,因此必须由程序员做移植工作。由于GTK+ 1更快、相对更简单或更加适合嵌入式应用,所以还被继续使用。

从GTK+ 2的2.8版起,它依靠Cairo完成渲染,而这引入了矢量图形的支持。 GTK+目前的最新版本是GTK+ 2.17.0 unstabale release。

[编辑]发展

Ridley项目正在尝试统一一系列和GTK+相关的库,包括libgnome、libgnomeui、libgnomeprint、libgnomeprintui、libglade、libgnomecanvas、libegg、libeel和gtkglext。

[编辑]GTK+ hello world

GTK+ hello world以C撰寫,這支程式含有視窗,標題為"Hello, World".

 #include <gtk/gtk.h>
 
 int
 main (int argc, char *argv[])
 {
    GtkWidget *window;
    GtkWidget *label;
 
    gtk_init (&argc, &argv);
 
    /* create the main, top level, window */
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
    /* give it the title */
    gtk_window_set_title (GTK_WINDOW (window), "Hello World");
 
    /* Connect the destroy signal of the window to gtk_main_quit
     * When the window is about to be destroyed we get a notification and
     * stop the main GTK+ loop
     */
    g_signal_connect (window, "destroy",
                      G_CALLBACK (gtk_main_quit), NULL);
 
    /* Create the "Hello, World" label  */
    label = gtk_label_new ("Hello, World");
 
    /* and insert it into the main window  */
    gtk_container_add (GTK_CONTAINER (window), label);
 
    /* make sure that everything, window and label, are visible */
    gtk_widget_show_all (window);
 
    /* start the main loop, and let it rest there until the application is closed */
    gtk_main ();
 
    return 0;
 }

[编辑]GTK+ Runtime Environment for Windows

由於GTK主要是作為Unix-like系統底下的介面,在Windows使用該系統所開發的軟體時就需要用到GTK+ 執行環境,即GTK+ Runtime Environment for Windows。這個軟體與GTK+不同的地方在於它僅僅是為了執行軟體用途而製作,以解決Windows沒有內建GTK+函式庫的問題。

分享到:
评论

相关推荐

    GTK+-2.0-中文手册.pdf.7z

    GTK+ 2.0 中文手册是一份详细阐述 GTK+ 库版本 2.0 的技术文档,专为中文用户设计。GTK+ 是一个广泛使用的跨平台图形用户界面工具包,支持多种操作系统,如 Linux、Windows 和 macOS。这份手册旨在帮助开发者理解和...

    GTK+ Reference Manual (GTK+ 参考手册 英文) for GTK+ 2.14.3

    GTK+ 参考手册 for GTK+ 2.14.3,最新英文版 GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released under ...

    linux gtk+-2.0.zip

    Linux系统中的GTK+ 2.0是一个用于创建图形用户界面(GUI)的开源库,它在许多基于Linux的桌面环境中广泛使用,如GNOME。GTK+(GIMP Toolkit)最初是为了GIMP图像编辑器开发的,但随着时间的发展,它已经成为了一个...

    gtk+-bundle_2.24.10-20120208_win32.zip

    这个“gtk+-bundle_2.24.10-20120208_win32.zip”文件是一个针对Windows 32位系统的GTK+ 2.24.10版本的打包下载,包含了开发GTK+应用所需的所有组件和库。这个压缩包主要是为了方便Windows开发者在没有原生支持的...

    GTK+程序设计中文版 .pdf

    GTK+ 程序设计中文版 GTK+ 是一种函数库,用来帮助制作图形交互界面。整个函数库都是由 C 语言来编写的。GTK+ 函数库通常也叫做 GIMP 工具包,因为,一开始 GTK+ 是用来编写“GIMP” – 这个图形处理软件的。从那...

    Gtk+ 3.6.4 win64.zip

    Gtk+ 3.6.4 是一个用于开发图形用户界面(GUI)的开源工具包,主要面向Linux和其他类UNIX系统,但也有针对Windows平台的版本。这个“Gtk+ 3.6.4 win64.zip”文件是一个包含了Gtk+ 3.6.4在64位Windows操作系统上的SDK...

    gtk+-bundle_2.22.1-20101229_win64

    GTK+(GIMP Toolkit)是一个跨平台的图形用户界面库,广泛用于开发各种类型的应用程序。这个名为"gtk+-bundle_2.22.1-20101229_win64"的压缩包文件是专为Windows 64位系统提供的GTK+ 2.22.1开发包。值得注意的是,它...

    基于C gtk/gtk+ sqlite3选课系统的开发

    在本文中,我们将深入探讨如何使用C语言,结合GTK+/GTK+图形库和SQLite3数据库来开发一个选课系统。这个项目将展示如何利用这些技术创建一个用户友好的图形界面,以及如何处理和存储数据。 首先,让我们了解C语言。...

    gtk+ gtk+-bundle_2.18.7-20100213_win32

    GTK+(GIMP Toolkit Plus)是一个跨平台的图形用户界面(GUI)工具包,广泛用于创建桌面应用程序。这个“gtk+-bundle_2.18.7-20100213_win32”是一个面向Windows操作系统的GTK+ 2.18.7版本的打包文件,发布于2010年2...

    GTK+程序设计中文版PDF

    GTK+,全称为GIMP Toolkit,是一个开源的GUI(图形用户界面)工具包,用于创建跨平台的应用程序。它最初是为图像处理软件GIMP(GNU Image Manipulation Program)开发的,但后来发展成为了一个广泛使用的多语言编程...

    GTK+3.0详细的说明文档

    GTK+3.0是GIMP Toolkit的最新版本,是一个跨平台的GUI库,广泛用于创建图形用户界面。它支持多种操作系统,包括Linux、Windows和macOS。GTK+3.0的详细说明文档提供了全面的学习资源,帮助开发者充分利用其功能。 在...

    Foundations of GTK+ Development

    Foundations of GTK+ Development (PDF 英文版) By Andrew Krause ISBN10: 1-59059-793-1 ISBN13: 978-1-59059-793-4 630 pages Apr 2007 (Apress) GTK+ is one of the most influential graphical toolkits for...

    gtk+-bundle_3.10.4-20131202_win64

    GTK+(GIMP Toolkit)是跨平台的图形用户界面(GUI)工具包,广泛用于开发桌面应用程序。这个特定的资源,“gtk+-bundle_3.10.4-20131202_win64”,是一个专为Windows 64位系统设计的GTK+版本的打包下载,版本号为...

    gtk+ Visual Studio 2008环境搭建(包含gtk+文件)

    标题中的“gtk+ Visual Studio 2008环境搭建”是指在Windows操作系统上,使用Microsoft Visual Studio 2008开发环境配置GTK+库的过程。GTK+(GIMP Toolkit)是一个跨平台的图形用户界面(GUI)工具包,广泛用于创建...

    最新的基于GTK+的单词数值计算器-linux

    在Linux操作系统中,开发者经常利用各种图形库来创建用户界面,GTK+(GIMP Toolkit)就是这样一款广泛应用的开源GUI库。最新的基于GTK+的单词数值计算器项目,为Linux用户提供了一个功能丰富的计算工具,同时考虑了...

    GTK+2.0编程范例-书籍和书中代码.tar.gz

    GTK+2.0编程范例-书籍和书中代码.tar.gz 是一个包含有关GTK+2.0编程的资源压缩包,适合初学者和希望提升技能的开发者。GTK+ 是一款广泛使用的开源图形用户界面(GUI)工具包,尤其在Linux和其他类UNIX系统中应用广泛...

    GTK+修复工具32位.zip

    GTK+修复工具32位.zip是一个专为32位计算机设计的软件包,它包含了用于修复或安装GTK+环境的必要组件。GTK+(GIMP Toolkit)是一个跨平台的图形用户界面工具包,广泛用于创建GUI应用程序。这个压缩包特别为在32位...

    GTK+GNOME程序设计PDF(高清)2

    本书详细介绍了两种Linux图形用户界面开发技术:GTK+/GNOME。主要内容包括:GUI的基本概念,GLib,GTK+及GNOME的简介,各种GUI元素的创建与使用,bIDE,Glade等等。最后通过两个综合实例来巩固所学知识。本书实例...

    GTK+、glade学习(C、Python实现)

    GTK+和Glade是Linux平台下开发图形用户界面(GUI)的重要工具,广泛应用于各种桌面应用和嵌入式系统。GTK+是一个用C语言编写的开源GUI库,它提供了丰富的控件和事件处理机制,而Glade则是一个设计工具,用于帮助...

Global site tag (gtag.js) - Google Analytics