fbpx
维基百科

Tk

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

Tk
Windows 10上运行的 Tk 8.6.6 截图
原作者约翰·奥斯特豪特英语John Ousterhout
開發者Tcl Core Team[1]
首次发布1991年,​32年前​(1991
目前版本
  • 8.6.13 (2022年11月22日;穩定版本)[2]
源代码库
  • core.tcl.tk/tk
编程语言C
操作系统跨平台
系統平台跨平台
类型部件工具箱
许可协议BSD-风格[3]
网站www.tcl.tk

Tk最初發展於1991年,是以Tcl腳本語言撰寫的擴充套件,目前另有PerlPythonRubyCommon Lisp等多種版本,並可在LinuxUnixApple MacintochWindows等平臺上運行。

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

架构

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

Tk有以下特性:

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

语言绑定

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

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

特性

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

基本特性

  • button
  • canvas
  • checkbutton
  • combobox
  • entry
  • frame
  • label
  • labelframe
  • listbox
  • menu
  • menubutton
  • message
  • notebook
  • panedwindow
  • progressbar
  • radiobutton
  • scale
  • scrollbar
  • separator
  • sizegrip
  • spinbox
  • text
  • tk_optionMenu
  • treeview

顶层部件

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

图形管理器

列于toplevel的基本部件使用图形管理器管理[20]

  • place – 定位部件至给定的绝对位置
  • grid – 将部件按网格排列
  • pack – 将部件打包

参考资料

  1. ^ Tcl/Tk Core Development. Tcl Developer Xchange. [2016-11-01]. (原始内容于2016-10-30). 
  2. ^ [TCLCORE] Tcl/Tk 8.6.13 RELEASED. 
  3. ^ Tcl/Tk Licensing Terms. Tcl Developer Xchange. [2016-11-04]. (原始内容于2018-06-27). 
  4. ^ Tcl/Tk 8.0. Tcl Developer Xchange. 2013-09-18 [2014-07-01]. (原始内容于2014-07-14). 
  5. ^ Tile: an improved themeing engine for Tk. SourceForge. [2016-11-04]. (原始内容于2016-11-08). 
  6. ^ Tcl/Tk 8.5 Release Announcement. Tcl Developer Xchange. 2013-09-18 [2014-07-01]. (原始内容于2014-06-18). 
  7. ^ Tcl/Tk 8.6 Release Announcement. Tcl Developer Xchange. 2013-09-20 [2014-07-01]. (原始内容于2014-06-27). 
  8. ^ wish manual page - Tk Applications. Tcl Developer Xchange. [2016-11-01]. (原始内容于2016-11-09). 
  9. ^ How to Compile Tcl. Tcl Developer Xchange. [2016-11-01]. (原始内容于2016-10-21). 
  10. ^ ttk::widget manual page - Tk Themed Widget. Tcl Developer Xchange. [2016-11-01]. (原始内容于2016-11-09). 
  11. ^ option manual page - Built-In Commands. Tcl Developer Xchange. [2016-11-01]. (原始内容于2016-11-09). 
  12. ^ Languages with a Tk binding. Tcler's Wiki. [2014-07-01]. (原始内容于2014-07-06). 
  13. ^ TASH. SourceForge. [2014-07-01]. (原始内容于2014-03-12). 
  14. ^ . Informatik - FB3 - Uni Bremen. [2016-11-04]. (原始内容存档于2014-10-18). 
  15. ^ Tkx::Tutorial - How to use Tkx. ActiveState Docs. [2016-11-01]. (原始内容于2016-10-10). 
  16. ^ Perl/Tk Concepts, Chapter 1 in Mastering Perl/Tk, ISBN 978-1565927162
  17. ^ Tkinter, Chapter 2.4 in Modern Tkinter for Busy Python Developers, ASIN B0071QDNLO
  18. ^ Tk Commands, version 8.6.6. Tcl Developer Xchange. [2016-11-01]. (原始内容于2016-10-18). 
  19. ^ Widgets', Chapter 17.2 in Tcl and the Tk Toolkit , ISBN 978-0321336330
  20. ^ Geometry Managers', Chapter 17.6 in Tcl and the Tk Toolkit , ISBN 978-0321336330

外部連結

此條目介紹的是一款部件工具箱, 关于其他用法, 请见, 是一開放原始碼的图形用户界面开发工具, 提供許多常用的圖形介面元件, 像是選單, 按鈕之類, 具有跨平台, 輕量化等特色, windows, 10上运行的, 截图原作者约翰, 奥斯特豪特, 英语, john, ousterhout, 開發者tcl, core, team, 首次发布1991年, 32年前, 1991, 目前版本8, 2022年11月22日, 穩定版本, 源代码库core, tk编程语言c操作系统跨平台系統平台跨平台类型部件工具箱许可协议bsd,. 此條目介紹的是一款部件工具箱 关于其他用法 请见 TK Tk是一開放原始碼的图形用户界面开发工具 提供許多常用的圖形介面元件 像是選單 按鈕之類 具有跨平台 輕量化等特色 TkWindows 10上运行的 Tk 8 6 6 截图原作者约翰 奥斯特豪特 英语 John Ousterhout 開發者Tcl Core Team 1 首次发布1991年 32年前 1991 目前版本8 6 13 2022年11月22日 穩定版本 2 源代码库core wbr tcl wbr tk wbr tk编程语言C操作系统跨平台系統平台跨平台类型部件工具箱许可协议BSD 风格 3 网站www wbr tcl wbr tkTk最初發展於1991年 是以Tcl腳本語言撰寫的擴充套件 目前另有Perl Python Ruby Common Lisp等多種版本 並可在Linux Unix Apple Macintoch Windows等平臺上運行 从Tcl Tk 8开始 软件搭建的图形界面看起来将 与本地系统一致 4 8 5版引入了一个新的主题引擎 它在字体渲染方面也有改进 该引擎最初叫Tk Tile 5 但现在通常被称为 themed Tk 6 8 6版的更新则支持了PNG格式 以及倾斜文字 7 目录 1 架构 1 1 语言绑定 2 特性 2 1 基本特性 2 2 顶层部件 2 3 图形管理器 3 参考资料 4 外部連結架构 编辑在Tk中 运用Tcl脚本编写跨平台图形用户界面框架 使用Tcl Shell Tclsh 以命令package require Tk调用Tk 在图形操作系统下 Wish 英语 Wish Unix shell 提供了包含Tclsh和Tk的图形窗口环境 8 Tk有以下特性 平台独立 与Tcl一样 Tk也是解释型的 各种平台下的Tcl实现是统一的 因此Tk程序可无需修改地移植至各种平台 9 可定制 Tcl中几乎所有的特性都是可以修改的 可通过初始化选项或运行时的命令修改 10 可保存 很多选项出存在数据库中 例如界面的颜色设置 这些选项能保存下来 在再次载入程序时读取 11 语言绑定 编辑 通过语言绑定 以Tcl实现的Tk可在其他编程语言中调用 已有多种语言支持Tk 完整的列表见于Tk的网站 12 例如Ada中的TASH模块 13 Haskell中的HTk 14 Perl Python中的Tkinter模块 Ruby REXX 以及Common Lisp 在Perl中调用Tk用多种方法 Tcl Tk模块以及Tkx模块 15 均适用Tcl作为桥梁 而Perl Tk 16 直接使用Perl实现Tk Python的Tkinter模块使用与Tcl的语言绑定实现Tk 17 特性 编辑Tk提供了多种部件 18 基本部件整合在toplevel部件里 作为可移动的浮动窗口 通常由操作系统管理 19 基本特性 编辑 button canvas checkbutton combobox entry frame label labelframe listbox menu menubutton message notebook panedwindow progressbar radiobutton scale scrollbar separator sizegrip spinbox text tk optionMenu treeview 顶层部件 编辑 tk chooseColor 弹出一个颜色选择窗口 tk chooseDirectory 弹出一个文件目录选择窗口 tk dialog 弹出一个对话框 等待用户回应 tk getOpenFile 弹出一个对话框 供用户选择并打开一个文件 tk getSaveFile 弹出一个对话框 供用户选择目录储存文件 tk messageBox 弹出一个消息框 等待用户回应 tk popup 显示弹出菜单 toplevel 创建并复制顶层部件图形管理器 编辑 列于toplevel的基本部件使用图形管理器管理 20 place 定位部件至给定的绝对位置 grid 将部件按网格排列 pack 将部件打包参考资料 编辑 Tcl Tk Core Development Tcl Developer Xchange 2016 11 01 原始内容存档于2016 10 30 TCLCORE Tcl Tk 8 6 13 RELEASED Tcl Tk Licensing Terms Tcl Developer Xchange 2016 11 04 原始内容存档于2018 06 27 Tcl Tk 8 0 Tcl Developer Xchange 2013 09 18 2014 07 01 原始内容存档于2014 07 14 Tile an improved themeing engine for Tk SourceForge 2016 11 04 原始内容存档于2016 11 08 Tcl Tk 8 5 Release Announcement Tcl Developer Xchange 2013 09 18 2014 07 01 原始内容存档于2014 06 18 Tcl Tk 8 6 Release Announcement Tcl Developer Xchange 2013 09 20 2014 07 01 原始内容存档于2014 06 27 wish manual page Tk Applications Tcl Developer Xchange 2016 11 01 原始内容存档于2016 11 09 How to Compile Tcl Tcl Developer Xchange 2016 11 01 原始内容存档于2016 10 21 ttk widget manual page Tk Themed Widget Tcl Developer Xchange 2016 11 01 原始内容存档于2016 11 09 option manual page Built In Commands Tcl Developer Xchange 2016 11 01 原始内容存档于2016 11 09 Languages with a Tk binding Tcler s Wiki 2014 07 01 原始内容存档于2014 07 06 TASH SourceForge 2014 07 01 原始内容存档于2014 03 12 HTk home Informatik FB3 Uni Bremen 2016 11 04 原始内容存档于2014 10 18 Tkx Tutorial How to use Tkx ActiveState Docs 2016 11 01 原始内容存档于2016 10 10 Perl Tk Concepts Chapter 1 in Mastering Perl Tk ISBN 978 1565927162 Tkinter Chapter 2 4 in Modern Tkinter for Busy Python Developers ASIN B0071QDNLO Tk Commands version 8 6 6 Tcl Developer Xchange 2016 11 01 原始内容存档于2016 10 18 Widgets Chapter 17 2 inTcl and the Tk Toolkit ISBN 978 0321336330 Geometry Managers Chapter 17 6 inTcl and the Tk Toolkit ISBN 978 0321336330外部連結 编辑Tcl Tk官方網頁 页面存档备份 存于互联网档案馆 ASPN的Perl Tk線上說明 Ruby Tk線上說明 TkInter 页面存档备份 存于互联网档案馆 Python版本的Tk LTK 页面存档备份 存于互联网档案馆 Common Lisp版本的Tk 取自 https zh wikipedia org w index php title Tk amp oldid 73307006, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。