Tk
Template:NoteTA 脚本错误:没有“about”这个模块。 脚本错误:没有“Infobox”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。 Tk是一開放原始碼的图形用户界面开发工具,提供許多常用的圖形介面元件(像是選單、按鈕之類),具有跨平台、輕量化等特色。
Tk最初發展於1991年,是以Tcl腳本語言撰寫的擴充套件,目前另有Perl、Python、Ruby、Common Lisp等多種版本,並可在Linux、Unix、Apple Macintoch、Windows等平臺上運行。
从Tcl/Tk 8开始,软件搭建的图形界面看起来将“与本地系统一致”[1]。8.5版引入了一个新的主题引擎,它在字体渲染方面也有改进。该引擎最初叫Tk Tile[2],但现在通常被称为"themed Tk"[3]。8.6版的更新则支持了PNG格式,以及倾斜文字[4]。
架构[编辑]
在Tk中,运用Tcl脚本编写跨平台图形用户界面框架。使用Tcl Shell(Tclsh),以命令package require Tk调用Tk。在图形操作系统下,Template:Le提供了包含Tclsh和Tk的图形窗口环境[5]。
Tk有以下特性:
- 平台独立:与Tcl一样,Tk也是解释型的。各种平台下的Tcl实现是统一的,因此Tk程序可无需修改地移植至各种平台[6]。
- 可定制:Tcl中几乎所有的特性都是可以修改的,可通过初始化选项或运行时的命令修改[7]。
- 可保存:很多选项出存在数据库中,例如界面的颜色设置。这些选项能保存下来,在再次载入程序时读取[8]。
语言绑定[编辑]
通过语言绑定,以Tcl实现的Tk可在其他编程语言中调用。已有多种语言支持Tk,完整的列表见于Tk的网站[9]。 例如Ada中的TASH模块[10] Haskell中的HTk[11],Perl,Python中的Tkinter模块,Ruby,REXX, 以及Common Lisp。
在Perl中调用Tk用多种方法: Tcl::Tk模块以及Tkx模块[12]均适用Tcl作为桥梁;而Perl/Tk[13]直接使用Perl实现Tk。Python的Tkinter模块使用与Tcl的语言绑定实现Tk[14]。
特性[编辑]
Tk提供了多种部件[15]。基本部件整合在toplevel部件里,作为可移动的浮动窗口,通常由操作系统管理[16]。
基本特性[编辑]
页面Template:Div col/styles.css没有内容。
buttoncanvascheckbuttoncomboboxentryframelabellabelframelistboxmenumenubuttonmessagenotebookpanedwindowprogressbarradiobuttonscalescrollbarseparatorsizegripspinboxtexttk_optionMenutreeview
脚本错误:没有“Check for unknown parameters”这个模块。
顶层部件[编辑]
tk_chooseColor– 弹出一个颜色选择窗口tk_chooseDirectory– 弹出一个文件目录选择窗口tk_dialog– 弹出一个对话框,等待用户回应tk_getOpenFile– 弹出一个对话框,供用户选择并打开一个文件tk_getSaveFile– 弹出一个对话框,供用户选择目录储存文件tk_messageBox– 弹出一个消息框,等待用户回应tk_popup– 显示弹出菜单toplevel– 创建并复制顶层部件
图形管理器[编辑]
列于toplevel的基本部件使用图形管理器管理[17]。
place– 定位部件至给定的绝对位置grid– 将部件按网格排列pack– 将部件打包
参考资料[编辑]
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Perl/Tk Concepts, Chapter 1 in Mastering Perl/Tk, ISBN 978-1565927162
- ↑ Tkinter, Chapter 2.4 in Modern Tkinter for Busy Python Developers,
- REDIRECT Template:Noprint
- ↑ Template:Cite web
- ↑ Widgets', Chapter 17.2 in Tcl and the Tk Toolkit , ISBN 978-0321336330
- ↑ Geometry Managers', Chapter 17.6 in Tcl and the Tk Toolkit , ISBN 978-0321336330
外部連結[编辑]
- Tcl/Tk官方網頁(页面存档备份,存于互联网档案馆)
- ASPN的Perl/Tk線上說明
- Ruby/Tk線上說明
- TkInter(页面存档备份,存于互联网档案馆) — Python版本的Tk
- LTK(页面存档备份,存于互联网档案馆) — Common Lisp版本的Tk
脚本错误:没有“Navbox”这个模块。