GTK+ 2.0 Tutorial |
||
---|---|---|
Данный набор библиотек лицензируется по LGPL, таким образом вы можете разрабатывать свободное программное обеспечение, программное обеспечение с открытым кодом или даже закрытые коммерческие программы не беспокоясь о лицензионных отчислениях или каких нибудь ограничениях в использовании GTK+. GTK (GIMP Toolkit) набор библиотек для построения графического интерфейса пользователя (GUI).
Первоначально библиотека разрабатывалась в рамках проекта GNU Image Manipulation Program (GIMP) по созданию программы редактирования изображений, но в данный момент написано огромное колличество программ с использованием GTK, включая GNOME (GNU Network Object Model Environment - Сетевая Объектная Среда GNU). GTK разрабатывается на основе GDK (GIMP Drawing Kit) которая в свою очередь является оболочкой для функций низкого уровня оконной среды (Xlib в случае X window system), и gdk-pixbuf, библиотека манипулирования изображением на стороне клиента.
Peter Mattis petm@xcf.berkeley.edu
Spencer Kimball spencer@xcf.berkeley.edu
Josh MacDonald jmacd@xcf.berkeley.edu
GTK в настоящее время поддерживается:
Owen Taylor otaylor@redhat.com
Tim Janik timj@gtk.org
GTK - по существу объектно ориентированный программный интерфейс приложения (API). Хотя написан полностью на языке программирования C, в нем заложены идеи классов и функций обратного вызова (сallback functions).
Еще есть третий компонент под названием GLib предназначенный для замены некоторых стандартных вызовов, а также содержит некоторые дополнительные функции для работы со связанными списками и т.д. Замененные функции предназначены для повышения мобильности GTK's, так некоторые функции реализованные здесь недоступны в некоторых системах (Unixes), например g_strerror(). Также внесены дополнения для libc, такие как g_malloc() для улучшения утилит отладки.
В версии 2.0, GLib собрала систему типов которая формирует фонд для иерархии классов GTK's, система сигналов которая используется повсюду в GTK, интерфейс библиотек, предоставляемый программам при компиляции (API), которые резюмируют различия родных нитей APIs разных платформ и средства для загрузки модулей.
И как последний компонент, GTK использует библиотеку Pango для интернационализации текстового вывода.
Есть привязки GTK (GTK bindings) для многих других языков программирования: C++, Guile, Perl, Python, TOM, Ada95, Objective C, Free Pascal, Eiffel, Java и C#. Это руководство описывает С интерфейс GTK. Если вы хотите использовать GTK с другим языком программирования, то вам следует в первую очередь ознакомится с документацией для привязки (GTK bindings) к этому языку. В ней может находится важная информация которая потребуется перед тем как изучать данное руководство. Есть кроссплатформенные APIs (такие как wxWindows и V) использующие GTK как основу, они также требуют изучения дополнительной документации.
Если вы разрабатываете ваше GTK приложение на языке С++, вам могут понадобится некоторые дополнения. Для С++ существует привязка GTK--, она предоставляет лучший C++-like интерфейс для GTK; вам лучше изучить её чем это руководство. Если вам не понравится этот подход то существует две альтернативы использования GTK. Во-первых вы можете применять для связи с GTK только C как подмножество C++ и затем использовать интерфейс С как описано в данном руководстве. Во-вторых, вы можете использовать GTK совместно с C++ объявляя функции обратного вызова (callbacks) как статические в C++ классах, и вызывать GTK используя C интерфейс. Если вы выберете последний вариант, то сможете использовать в качестве данных, передаваемых callback-функции, указатель на объект, с которым вы работаете (значение "this"). Выбор между тремя этими способами вопрос вкуса, в любом случае вы получаете C++ и GTK. Не один из этих вариантов не требует специального препроцессора и вы в любом случае получаете стандартный C++ для GTK.
Это руководство, попытка создать документацию по GTK, но оно не является полным. Это руководство для хорошего понимания языка программирования С и создания программ на нём. Для читателя было бы хорошо знать основы программирования в X среде, но это не является обязательным. Если вы изучаете GTK как первый свой инструмент для создания оконных интерфейсов, то прокомментируйте пожалуйста с какими трудностями вы столкнулись изучая данное руководство.
Этот документ находится в постоянной разработке. Вы можете посмотреть последние обновления на http://www.gtk.org/. Замечания по поводу перевода можно отправлять sergeyvp@gmail.com.
Если вы сообщите о проблемах при изучении GTK по данному документу, то вы примете участие в улучшении данного руководства. Пожалуйста посмотрите секцию Содействие для получения дополнительной информации.
Tutorial Availability |
|
Getting Started |