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

Tk був розроблений Джоном Остерхутом як розширення для інтерпретованої мови програмування Tcl. Tk може використовуватись з C/C++, Perl, Python, Ruby (в окремих випадках може знадобитись Tcl).

Tk портований на більшість реалізацій Linux, Mac OS X, Unix і Microsoft Windows.

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

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

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

Як правило, виконання Tk-сценарію починається зі створення компонентів і розміщення їх за допомогою диспетчера компоновки, після чого сценарій пов'язує обробники подій з компонентами. Після того як інтерпретатор закінчує розбір команд, відповідальних за ініціалізацію інтерфейсу, він переходить у цикл обробки подій. З цього моменту додаток починає реагувати на дії користувача.

Для Tk існують набори додаткових компонентів, наприклад, BWidget [Архівовано 5 грудня 2012 у Wayback Machine.], Tix [Архівовано 13 листопада 2012 у Wayback Machine.], incr Widgets [Архівовано 17 листопада 2012 у Wayback Machine.] та інші модулі розширень. Особливо варто виділити BWidget, написаний на «чистому» Tcl він не вимагає компіляції під певну платформу.

Див. також ред.

Посилання ред.