Tk

Tk是一開放原始碼的图形用户界面开发工具，提供許多常用的圖形介面元件（像是選單、按鈕之類），具有跨平台、輕量化等特色。

Tk最初發展於1991年，是以Tcl腳本語言撰寫的擴充套件，目前另有Perl、Python、Ruby、Common Lisp等多種版本，並可在Linux、Unix、Apple Macintoch、Windows等平臺上運行。

从Tcl/Tk 8开始，软件搭建的图形界面看起来将“与本地系统一致”。8.5版引入了一个新的主题引擎，它在字体渲染方面也有改进。该引擎最初叫Tk Tile，但现在通常被称为"themed Tk"。8.6版的更新则支持了PNG格式，以及倾斜文字。

架构
在Tk中，运用Tcl脚本编写跨平台图形用户界面框架。使用Tcl Shell(Tclsh)，以命令package require Tk调用Tk。在图形操作系统下，提供了包含Tclsh和Tk的图形窗口环境。

Tk有以下特性：
 平台独立：与Tcl一样，Tk也是解释型的。各种平台下的Tcl实现是统一的，因此Tk程序可无需修改地移植至各种平台。
 可定制：Tcl中几乎所有的特性都是可以修改的，可通过初始化选项或运行时的命令修改。
 可保存：很多选项出存在数据库中，例如界面的颜色设置。这些选项能保存下来，在再次载入程序时读取。

语言绑定
通过语言绑定，以Tcl实现的Tk可在其他编程语言中调用。已有多种语言支持Tk，完整的列表见于Tk的网站。 例如Ada中的TASH模块 Haskell中的HTk，Perl，Python中的Tkinter模块，Ruby，REXX, 以及Common Lisp。

在Perl中调用Tk用多种方法: Tcl::Tk模块以及Tkx模块均适用Tcl作为桥梁；而Perl/Tk直接使用Perl实现Tk。Python的Tkinter模块使用与Tcl的语言绑定实现Tk。

特性
Tk提供了多种部件。基本部件整合在toplevel部件里，作为可移动的浮动窗口，通常由操作系统管理。

基本特性

顶层部件
tk_chooseColor – 弹出一个颜色选择窗口
tk_chooseDirectory – 弹出一个文件目录选择窗口
tk_dialog – 弹出一个对话框，等待用户回应
tk_getOpenFile – 弹出一个对话框，供用户选择并打开一个文件
tk_getSaveFile –  弹出一个对话框，供用户选择目录储存文件
tk_messageBox –  弹出一个消息框，等待用户回应
tk_popup – 显示弹出菜单
toplevel – 创建并复制顶层部件

图形管理器
列于toplevel的基本部件使用图形管理器管理。
place – 定位部件至给定的绝对位置
grid – 将部件按网格排列
pack – 将部件打包

参考资料

外部連結 
Tcl/Tk官方網頁
ASPN的Perl/Tk線上說明
Ruby/Tk線上說明
TkInter — Python版本的Tk
LTK — Common Lisp版本的Tk

部件工具箱
自由發展元件與函式庫
Tcl编程语言家族