Tk
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 він не вимагає компіляції під певну платформу.