Инструментарий Tk — это набор инструментов с графическим интерфейсом, предназначенный для использования в динамических языках. Первоначально он был разработан Джоном Оустерхаутом для использования с Tcl, но впоследствии был доработан для поддержки многих других языков (особенно Perl, Python и Ruby).
Tk — это собственный инструментарий для Windows и Mac OS X. На других платформах на основе Unix он построен непосредственно поверх X11 и по умолчанию эмулирует внешний вид, традиционно ассоциируемый с Motif (хотя это можно настроить). Рекомендуется, чтобы новые приложения использовали виджеты из набора Ttk (где это уместно), поскольку они используют механизм тем, который больше подходит для обработки современного внешнего вида.
Одной из ключевых особенностей Tk является то, что его поведение почти полностью определяется с помощью сценариев (плюс мощный механизм привязки событий). Это дает пользовательскому коду большую гибкость для переопределения происходящего без написания новых низкоуровневых программ. Низкоуровневый движок рисования написан на C и заботится о том, чтобы отложить фактическую активность рисования до подходящего момента (обычно после обработки всех ожидающих событий графического интерфейса), благодаря чему Tk чувствует себя чрезвычайно отзывчивым к действиям пользователя.
Tk — удивительно простой инструментарий. В следующем примере показано, как создать окно с меткой «Hello, world». Пример написан на Tcl и предназначен для запуска интерпретатором желаний, который поставляется с каждой установкой tcl/tk:
label .l -text "Hello, world"
pack .l
Другие языки лишь немного более многословны. В отличие от Wish, другие языки обычно требуют, чтобы вы импортировали библиотеку tk, создали корневое окно и запустили цикл обработки событий.
Вот тот же пример в Python 2:
import Tkinter as tk
root = tk.Tk()
label = tk.Label(root, text = "Hello, world")
label.pack()
root.mainloop()