<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Tk</id>
	<title>Tk - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Tk"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Tk&amp;action=history"/>
	<updated>2026-07-13T21:22:16Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Tk&amp;diff=15355&amp;oldid=prev</id>
		<title>2026年5月7日 (四) 03:03 imported&gt;Ohtashinichiro</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Tk&amp;diff=15355&amp;oldid=prev"/>
		<updated>2026-05-07T03:03:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT|G2=FL}}&lt;br /&gt;
{{about|一款部件工具箱||TK}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = Tk&lt;br /&gt;
| logo                   = Tcl-Tk universal scripting.svg&lt;br /&gt;
| logo size             = 100px&lt;br /&gt;
| screenshot             = Tk-Demo using Tk 8.6.6 on Windows 10, November 2016.png&lt;br /&gt;
| caption                = Windows 10上运行的 Tk 8.6.6 截图&lt;br /&gt;
| author                 = {{le|约翰·奥斯特豪特|John Ousterhout}}&lt;br /&gt;
| developer              = Tcl Core Team&amp;lt;ref name=&amp;quot;tclcoreteam&amp;quot;&amp;gt;{{cite web |url=http://www.tcl.tk/community/coreteam |title=Tcl/Tk Core Development |website=Tcl Developer Xchange |accessdate=2016-11-01 |archive-date=2016-10-30 |archive-url=https://web.archive.org/web/20161030160948/http://tcl.tk/community/coreteam/ |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| released               = {{Start date and age|df=yes|1991}}&lt;br /&gt;
| latest release version = 8.6.11&lt;br /&gt;
| latest release date    = {{Start date and age|df=yes|2020|12|31}}&lt;br /&gt;
| latest preview version = 9.0a1&lt;br /&gt;
| latest preview date    = {{Start date and age|df=yes|2019|11|26}}&lt;br /&gt;
| status                 = 活跃&lt;br /&gt;
| programming language   = [[C语言|C]]&lt;br /&gt;
| operating system       = [[跨平台]]&lt;br /&gt;
| platform               = [[跨平台]]&lt;br /&gt;
| genre                  = [[部件工具箱]]&lt;br /&gt;
| license                = [[BSD licenses|BSD]]-风格&amp;lt;ref&amp;gt;{{cite web | url=http://www.tcl.tk/software/tcltk/license.html | title=Tcl/Tk Licensing Terms | website=Tcl Developer Xchange | accessdate=2016-11-04 | archive-date=2018-06-27 | archive-url=https://web.archive.org/web/20180627183756/https://tcl.tk/software/tcltk/license.html | dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| website                = {{URL|www.tcl.tk}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tk&amp;#039;&amp;#039;&amp;#039;是一[[開放原始碼]]的[[图形用户界面]][[部件工具箱|开发工具]]，提供許多常用的圖形介面元件（像是[[選單]]、[[按鈕]]之類），具有[[跨平台]]、輕量化等特色。&lt;br /&gt;
&lt;br /&gt;
Tk最初發展於1991年，是以[[Tcl]][[腳本語言]]撰寫的擴充套件，目前另有[[Perl]]、[[Python]]、[[Ruby]]、[[Common Lisp]]等多種版本，並可在[[Linux]]、[[Unix]]、[[麥金塔電腦|Apple Macintoch]]、[[Windows]]等平臺上運行。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 此部分内容将来可能需要移至历史段落 --&amp;gt;&lt;br /&gt;
从Tcl/Tk 8开始，软件搭建的图形界面看起来将“与本地系统一致”&amp;lt;ref name=&amp;quot;tcltk80release&amp;quot;&amp;gt;{{cite web |url=http://www.tcl.tk/software/tcltk/8.0.html |title=Tcl/Tk 8.0 |website=Tcl Developer Xchange |date=2013-09-18 |accessdate=2014-07-01 |archive-date=2014-07-14 |archive-url=https://web.archive.org/web/20140714151735/http://www.tcl.tk/software/tcltk/8.0.html |dead-url=no }}&amp;lt;/ref&amp;gt;。8.5版引入了一个新的主题引擎，它在字体渲染方面也有改进。该引擎最初叫Tk Tile&amp;lt;ref&amp;gt;{{cite web | url=http://tktable.sourceforge.net/tile/ | title=Tile: an improved themeing engine for Tk | website=SourceForge | accessdate=2016-11-04 | archive-date=2016-11-08 | archive-url=https://web.archive.org/web/20161108073259/http://tktable.sourceforge.net/tile/ | dead-url=no }}&amp;lt;/ref&amp;gt;，但现在通常被称为&amp;quot;themed Tk&amp;quot;&amp;lt;ref name=&amp;quot;tcltk85release&amp;quot;&amp;gt;{{cite web |url=http://www.tcl.tk/software/tcltk/8.5.html |title=Tcl/Tk 8.5 Release Announcement |website=Tcl Developer Xchange |date=2013-09-18 |accessdate=2014-07-01 |archive-date=2014-06-18 |archive-url=https://web.archive.org/web/20140618024340/http://www.tcl.tk/software/tcltk/8.5.html |dead-url=no }}&amp;lt;/ref&amp;gt;。8.6版的更新则支持了[[PNG]]格式，以及倾斜文字&amp;lt;ref name=&amp;quot;tcl86release&amp;quot;&amp;gt;{{cite web | url=http://www.tcl.tk/software/tcltk/8.6.html | title=Tcl/Tk 8.6 Release Announcement | website=Tcl Developer Xchange | date=2013-09-20 | accessdate=2014-07-01 | archive-date=2014-06-27 | archive-url=https://web.archive.org/web/20140627020612/http://www.tcl.tk/software/tcltk/8.6.html | dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==架构==&lt;br /&gt;
在Tk中，运用[[Tcl]]脚本编写跨平台[[图形用户界面]]框架。使用Tcl Shell(Tclsh)，以命令&amp;lt;code&amp;gt;package require Tk&amp;lt;/code&amp;gt;调用Tk。在图形操作系统下，{{le|Wish (Unix shell|Wish_(Unix_shell)|Wish}}提供了包含Tclsh和Tk的图形窗口环境&amp;lt;ref&amp;gt;{{cite web |url=http://tcl.tk/man/tcl8.6/UserCmd/wish.htm |title=wish manual page - Tk Applications |website=Tcl Developer Xchange |accessdate=2016-11-01 |archive-date=2016-11-09 |archive-url=https://web.archive.org/web/20161109152335/http://tcl.tk/man/tcl8.6/UserCmd/wish.htm |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
Tk有以下特性：&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;平台独立&amp;#039;&amp;#039;&amp;#039;：与Tcl一样，Tk也是解释型的。各种平台下的Tcl实现是统一的，因此Tk程序可无需修改地移植至各种平台&amp;lt;ref&amp;gt;{{cite web |url=https://tcl.tk/doc/howto/compile.html |title=How to Compile Tcl |website=Tcl Developer Xchange |accessdate=2016-11-01 |archive-date=2016-10-21 |archive-url=https://web.archive.org/web/20161021035724/http://www.tcl.tk/doc/howto/compile.html |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;可定制&amp;#039;&amp;#039;&amp;#039;：Tcl中几乎所有的特性都是可以修改的，可通过初始化选项或运行时的命令修改&amp;lt;ref&amp;gt;{{cite web |url=http://tcl.tk/man/tcl8.6/TkCmd/ttk_widget.htm |title=ttk::widget manual page - Tk Themed Widget |website=Tcl Developer Xchange |accessdate=2016-11-01 |archive-date=2016-11-09 |archive-url=https://web.archive.org/web/20161109152418/http://tcl.tk/man/tcl8.6/TkCmd/ttk_widget.htm |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;可保存&amp;#039;&amp;#039;&amp;#039;：很多选项出存在数据库中，例如界面的颜色设置。这些选项能保存下来，在再次载入程序时读取&amp;lt;ref&amp;gt;{{cite web |url=http://tcl.tk/man/tcl8.6/TkCmd/option.htm |title=option manual page - Built-In Commands |website=Tcl Developer Xchange |accessdate=2016-11-01 |archive-date=2016-11-09 |archive-url=https://web.archive.org/web/20161109152633/http://tcl.tk/man/tcl8.6/TkCmd/option.htm |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===语言绑定===&lt;br /&gt;
通过[[语言绑定]]，以Tcl实现的Tk可在其他编程语言中调用。已有多种语言支持Tk，完整的列表见于Tk的网站&amp;lt;ref&amp;gt;{{cite web | url=http://wiki.tcl.tk/17264 | title=Languages with a Tk binding | website=Tcler&amp;#039;s Wiki | accessdate=2014-07-01 | archive-date=2014-07-06 | archive-url=https://web.archive.org/web/20140706175808/http://wiki.tcl.tk/17264 | dead-url=no }}&amp;lt;/ref&amp;gt;。 例如Ada中的TASH模块&amp;lt;ref&amp;gt;{{cite web | url=http://tcladashell.sourceforge.net/ | title=TASH | website=SourceForge | accessdate=2014-07-01 | archive-date=2014-03-12 | archive-url=https://web.archive.org/web/20140312023413/http://tcladashell.sourceforge.net/ | dead-url=no }}&amp;lt;/ref&amp;gt; [[Haskell]]中的HTk&amp;lt;ref&amp;gt;{{cite web | url=http://www.informatik.uni-bremen.de/htk/ | title=HTk home | website=Informatik - FB3 - Uni Bremen | accessdate=2016-11-04 | archive-url=https://web.archive.org/web/20141018191750/http://www.informatik.uni-bremen.de/htk/ | archive-date=2014-10-18 | dead-url=yes }}&amp;lt;/ref&amp;gt;，Perl，Python中的[[Tkinter]]模块，Ruby，[[REXX]], 以及[[Common Lisp]]。&lt;br /&gt;
&lt;br /&gt;
在[[Perl]]中调用Tk用多种方法: Tcl::Tk模块以及Tkx模块&amp;lt;ref&amp;gt;{{cite web | url=http://docs.activestate.com/activeperl/5.8/lib/Tkx/Tutorial.html | title=Tkx::Tutorial - How to use Tkx | website=ActiveState Docs | accessdate=2016-11-01 | archive-date=2016-10-10 | archive-url=https://web.archive.org/web/20161010234656/http://docs.activestate.com/activeperl/5.8/lib/Tkx/Tutorial.html | dead-url=no }}&amp;lt;/ref&amp;gt;均适用Tcl作为桥梁；而Perl/Tk&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Perl/Tk Concepts&amp;#039;&amp;#039;, Chapter 1 in &amp;#039;&amp;#039;Mastering Perl/Tk&amp;#039;&amp;#039;, ISBN 978-1565927162&amp;lt;/ref&amp;gt;直接使用Perl实现Tk。Python的Tkinter模块使用与Tcl的语言绑定实现Tk&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Tkinter&amp;#039;&amp;#039;, Chapter 2.4 in &amp;#039;&amp;#039;Modern Tkinter for Busy Python Developers&amp;#039;&amp;#039;, {{ASIN |B0071QDNLO}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==特性==&lt;br /&gt;
Tk提供了多种部件&amp;lt;ref&amp;gt;{{cite web |url=http://www.tcl.tk/man/tcl8.6/TkCmd/contents.htm |title=Tk Commands, version 8.6.6 |website=Tcl Developer Xchange |accessdate=2016-11-01 |archive-date=2016-10-18 |archive-url=https://web.archive.org/web/20161018042328/http://www.tcl.tk/man/tcl8.6/TkCmd/contents.htm |dead-url=no }}&amp;lt;/ref&amp;gt;。基本部件整合在&amp;lt;code&amp;gt;toplevel&amp;lt;/code&amp;gt;部件里，作为可移动的浮动窗口，通常由操作系统管理&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Widgets&amp;#039;, Chapter 17.2 in &amp;#039;&amp;#039;Tcl and the Tk Toolkit &amp;#039;&amp;#039;, ISBN 978-0321336330&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===基本特性===&lt;br /&gt;
{{columns-list|2|style=width: 25em|&lt;br /&gt;
*&amp;lt;code&amp;gt;button&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;canvas&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;checkbutton&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;combobox&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;labelframe&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;listbox&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;menu&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;menubutton&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;notebook&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;panedwindow&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;progressbar&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;radiobutton&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;scale&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;scrollbar&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;separator&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;sizegrip&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;spinbox&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_optionMenu&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;treeview&amp;lt;/code&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===顶层部件===&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_chooseColor&amp;lt;/code&amp;gt; – 弹出一个颜色选择窗口&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_chooseDirectory&amp;lt;/code&amp;gt; – 弹出一个文件目录选择窗口&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_dialog&amp;lt;/code&amp;gt; – 弹出一个对话框，等待用户回应&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_getOpenFile&amp;lt;/code&amp;gt; – 弹出一个对话框，供用户选择并打开一个文件&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_getSaveFile&amp;lt;/code&amp;gt; –  弹出一个对话框，供用户选择目录储存文件&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_messageBox&amp;lt;/code&amp;gt; –  弹出一个消息框，等待用户回应&lt;br /&gt;
*&amp;lt;code&amp;gt;tk_popup&amp;lt;/code&amp;gt; – 显示弹出菜单&lt;br /&gt;
*&amp;lt;code&amp;gt;toplevel&amp;lt;/code&amp;gt; – 创建并复制顶层部件&lt;br /&gt;
&lt;br /&gt;
===图形管理器===&lt;br /&gt;
列于&amp;lt;code&amp;gt;toplevel&amp;lt;/code&amp;gt;的基本部件使用图形管理器管理&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Geometry Managers&amp;#039;, Chapter 17.6 in &amp;#039;&amp;#039;Tcl and the Tk Toolkit &amp;#039;&amp;#039;, ISBN 978-0321336330&amp;lt;/ref&amp;gt;。&lt;br /&gt;
*&amp;lt;code&amp;gt;place&amp;lt;/code&amp;gt; – 定位部件至给定的绝对位置&lt;br /&gt;
*&amp;lt;code&amp;gt;grid&amp;lt;/code&amp;gt; – 将部件按网格排列&lt;br /&gt;
*&amp;lt;code&amp;gt;pack&amp;lt;/code&amp;gt; – 将部件打包&lt;br /&gt;
== 参考资料 ==&lt;br /&gt;
{{Reflist|2}}&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
*[http://www.tcl.tk/ Tcl/Tk官方網頁]{{Wayback|url=http://www.tcl.tk/ |date=20180714073730 }}&lt;br /&gt;
*[https://web.archive.org/web/20060426113513/http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/site/lib/Tk.html ASPN的Perl/Tk線上說明]&lt;br /&gt;
*[https://web.archive.org/web/20060615054422/http://www.rubycentral.com/book/ext_tk.html Ruby/Tk線上說明]&lt;br /&gt;
*[http://wiki.python.org/moin/TkInter TkInter]{{Wayback|url=http://wiki.python.org/moin/TkInter |date=20060612015637 }} — Python版本的Tk&lt;br /&gt;
*[https://www.peter-herth.de/ltk/ LTK]{{Wayback|url=https://www.peter-herth.de/ltk/ |date=20060615171725 }} — Common Lisp版本的Tk&lt;br /&gt;
{{Widget toolkits}}&lt;br /&gt;
&lt;br /&gt;
[[Category:部件工具箱]]&lt;br /&gt;
[[Category:应用程序接口]]&lt;br /&gt;
[[Category:自由發展元件與函式庫]]&lt;br /&gt;
[[Category:Tcl编程语言家族]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ohtashinichiro</name></author>
	</entry>
</feed>