Tk

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

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

Разработчик

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

Написана на

C

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

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

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

8.6.4 (12 марта 2015 года)

Лицензия

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[2]. Кроме того, есть несколько расширений, обеспечивающих drag-and-drop с внешними приложениями, непрямоугольные окна и т. д.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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