Tk

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Tk
Тип

библиотека элементов графического интерфейса пользователя

Разработчик

Джон Оустерхаут

Написана на

C

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

8.6.1 (20 сентября 2013 года)

Лицензия

BSD-подобная

Сайт

tcl.tk

Tk (от англ. Toolkit — «набор инструментов», «инструментарий») — кроссплатформенная библиотека базовых элементов графического интерфейса, распространяемая с открытыми исходными текстами.

Tk был разработан Джоном Оустерхаутом как расширение для интерпретируемого языка программирования Tcl. Также, с использованием специальных библиотек, Tk может использоваться другими языками программирования[1], например Perl, Python, Ruby. Большинство из этих языков используют Tcl как мост для Tk.

Tk портирован на большинство реализаций Linux, Mac OS X, Unix, и Microsoft Windows. Начиная с Tcl/Tk 8 графический интерфейс имеет «родной» для ОС вид, то есть графические элементы будут выглядеть так же как и стандартные для данной ОС. В версии 8.5 в Tk появилась возможность использовать движок для отрисовки элементов с поддержкой тем оформления — Ttk. Кроме того, есть несколько расширений, обеспечивающих drag-and-drop с внешними приложениями, непрямоугольные окна и т. д.

Tk представляет разработчику набор Tcl-команд, предназначенных для создания компонентов и выполнения различных действий с ними. Компонент представляет собой окно в составе графического интерфейса, имеющее определенный внешний вид и выполняющее некоторые функции.

Компоненты организованы в иерархическую структуру. С точки зрения приложения существует главное, или первичное, окно, в котором создаются дочерние окна. Дочерние окна, в свою очередь, могут выступать в качестве родительских по отношению к другим окнам и т. д. Компонентами управляют диспетчеры компоновки (geometry manager), которые определяют размеры компонентов и их размещение на экране.

Tk-приложения, как и большинство оконных приложений, представляют собой программы, управляемые событиями. Компоненты Tk автоматически обрабатывают большинство событий, что упрощает задачу разработчиков по созданию приложений.

Как правило, выполнение Tk-сценария начинается с создания компонентов и размещения их с помощью диспетчера компоновки, после чего сценарий связывает обработчики событий с компонентами. После того как интерпретатор оканчивает разбор команд, ответственных за инициализацию пользовательского интерфейса, он переходит в цикл обработки событий. С этого момента приложение начинает реагировать на действия пользователя.

Для Tk существуют наборы дополнительных компонентов, например, BWidget, Tix или incr Widgets. Особо стоит выделить BWidget, так как преимуществом его использования является отсутствие необходимости в компиляции под определенную платформу (код тулкита представляет собой «чистый» Tcl).

Ссылки[править | править вики-текст]

Tcl/Tk[править | править вики-текст]

C++/Tk[править | править вики-текст]

  • CPPTk (англ.) — Tk для C++

Perl/Tk[править | править вики-текст]

Ruby/Tk[править | править вики-текст]

  • Learn Tk (англ.) — учебное пособие по Ruby/Tk

Python/Tk[править | править вики-текст]

Lisp/Tk[править | править вики-текст]

Ada/Tk[править | править вики-текст]

  • TASH (англ.) - is an Ada binding to Tcl/Tk

Haskell/Tk[править | править вики-текст]

  • HTk (англ.) - is an encapsulation of the graphical user interface toolkit and library Tcl/Tk for the functional programming language Haskell

Литература[править | править вики-текст]

  • Брент Б. Уэлш, Кен Джонс, Джеффри Хоббс Практическое программирование на Tcl и Tk = Practical Programming in Tcl and Tk. — 4-е изд. — М.: «Вильямс», 2004. — С. 1136. — ISBN 0-13-038560-3

Примечания[править | править вики-текст]