Tk (ツールキット)

Tkは、GUIを開発するための、オープンソースの、クロスプラットフォームのウィジェット・ツールキットである。デスクトップ・アプリケーションを開発するために通常必要な、ボタン、メニュー、テキスト、フレーム、ラベルなどのウィジェットを提供する。カリフォルニア大学バークレー校の John Ousterhout によって、スクリプト言語 Tclの拡張として開発された。Tk は "Tool Kit" の略である。Unix系OS、Macintosh、Microsoft Windowsなどに移植されている。
機能.
もともとの Tk では、各プラットフォームの標準的なものとは異なるルック・ アンド・フィールであったが、Tk 8　からは、ネイティブなルック・アンド・フィールを提供するようになった（例えば、メニューとボタンはそのプラットフォームの「ネイティブな」ソフトウェアの作法で表示される）。さらに、外部とのドラッグ・アンド・ドロップ、非長方形のウィンドウ、ネイティブのウィジェットなどのいくつかの拡張が提供された。Tk 8.5 からは、Tk 8.4で試験的に提供されていた、Tk Tile と呼ばれる新しいテーマ・エンジンが、リリースに取り込まれた。これは、Ttk Widget と呼ばれるもので、テーマを変更し GUI の見栄えを切り替えることができる。
Tk は、Unicodeの基本多言語面 (BMP) をサポートするが、32-bitの Unicode を扱うための拡張はまだされていない。Unix系のシステムでは、Tk 8.4 以前は、ビットマップフォントを使用していたが、Tk 8.5 では、アンチエイリアスフォントを使用することができる。
Tcl では、Tcl Shell (tclsh) というコマンドライン・インタプリタを使用するが、Tk は wish (Windowing Shell) というコマンドライン・インタプリタから簡単に呼び出すことができる。
Tcl以外の言語バインディング.
Ada（TASH と呼ばれる）、Perl、Python、Ruby および Common Lisp を含むいくつかのほかの言語バインディングが存在する。 
Perlから、Tk を動かす方法はいくつかある。Tcl::Tk と Tkx の Perl モジュール、これらは両方とも、Tcl を用いて Tk にアクセスするためのブリッジである。Perl/Tk は、Perl からのネイティブな Tk の機構へのアクセスを提供する。Python と Ruby は、Tk へのブリッジとして、Tcl を使うバインディングを使用する。