TkDocs
您需要生成高质量传统知识的用户界面的信息。
首页
教程
窗口小部件
画廊
资源
博客
关于
Search
本教程将快速获得您启动和运行与最新的
Tk
从
Tcl、
红宝石、
Perl
或
Python
在
Mac、 Windows
或
Linux。它提供了有
关传统知识的核心概念、 各种窗口小部件、 布局、 事件和更多,您需要为您的应用程序的所有要点。
嘿
Python
用户 !
像
TkDocs
吗?
查阅现代
Tkinter
e‑book!
表的内容
简介
本教程旨在帮助人们获得速度迅速与建设主流桌面图½用户界面与传统知识,和特别是
Tk 8.5,这是一个非常重要的里程碑
版本和承认传统知识,大多数人½知道和爱的较旧版本的重大偏离。
缺点是除非您知道一个或两个特定事情,正是其实没有那么大的释放 ;为向后兼容性原因,除非现有的程序,做一些简单
的改变,他们看起来不会那么多不同。因此,本教程将惠及到传统知识的新人,同时它还将帮助现有的传统知识开发人员带
来他们对最新的知识。这已是老生常谈,½我不敢相信我在编写本教程中,学会了多少和我一直½用传统知识在
15
年以
上。
传统知识文件 (外部的面向
Tcl
的参考文档,是优秀) 的一般状态遗憾的是不是高点这几天。这是从非
Tcl,语言½用传统
知识的开发人员和开发人员在多个平台上工½的情况尤其如此。
因此,本教程将½可½多地,目标在三个主要平台 (Windows、
Mac、 Linux)
的开发人员,也是语言中立。最初,本教
程将包括
Tcl、
红宝石、
Perl
和
Python。随着时间的推移可½添加其他语言。即½您自己的语言并不包括在内,机会是½
仍然会受益 ;因为所有的语言½½用相同的基础
Tk
库,显然有许多重叠。
这还不是一本参考指南,它不会包括所有的东西,只是要点½需要在
95%的应用程序。您可以在参考文档中找到的休息。
要点
传统知识背景介绍
安装传统知识
教程
构件综述
语言½用传统知识
官方
Tk
½令参考
(以 Tcl
为导向 ; 在
www.tcl.tk)
教程
本教程是为谁
本教程被面向开发人员构建工具和应用程序的传统知识。它与相½主流的图½用户界面,与按钮、 列表、 复选框、 也有有
关数据表编辑、 二维图½。所以如果½要么寻找黑客对传统知识的内部的
C
代码,或生成的下一个伟大
3D
沉浸式游戏界
面,这不是½的材料。
本教程还不会教½基本的编程语言 (Tcl、 红宝石、
Perl、 Python
等),所以½应该已经基本½成一个掌握在那。同样,
½应该有基本的了解与桌面应用程序一般情况下,和½别要将用户界面设计器,½一些赞赏的
GUI
设计总是很有帮助。
显示:
所有的语言
表的内容
简介
安装传统知识
第一个示例中
(真正的)
传统知识的概念
基本窗口小部件
½格的几½管理器
更多小部件
菜单
窗口和对话框
组织复杂的界面
字½、 颜色、 图像
画布
文本
树
样式和主题
现代的最½做法
本教程是关于建设现代传统知识的用户界面½用传统知识所提供的½前工具。½是½需要知道要执行此操½的最½做法。
对于大多数工具,½不会认为½会这样说,½为
Tk
这不是个案。传统知识已有很长的演变 (见传统知识背景介绍),和任
½演变往往会给½留一点源码 ;夫妇与多少图½用户界面的平台和标准已经演变这段时间,和½可以看到在保持大型和复
杂
GUI
库为最新,以及向后兼容可½具有挑战性。
传统知识,近年来,已经臭名远播,得婉½。这有一些½值得,大部分是不那么多。像任½
GUI
的工具,它可以用于创建
绝对可怕外观和过时的用户界面,½与适½的照顾和关注,它可以也用于创建以及壮观地½的。大多数人½知道那些蹩脚的
人 ;大多数人甚至不知道的½男人½½用传统知识。在本教程中,我们将重点放上½需要建立良½的用户界面,这不是几
乎和它前½用
Tk 8.5
一样硬。
所以现代桌面图½用户界面,½用现代的约定和设计感,½用提供的
Tk 8.5
的现代工具。
传统知识的扩展
½它来到现代的最½做法时,Tk 扩展值得特别注意的词。多年来,组数向传统知识,例如添加新小部件不可用,在核心
(或至少不在时) 提供了所有类型的加½½项。一些知名和相½受欢迎的传统知识扩展包括
BLT、
门票、
iWidgets、
BWidgets
;还有很多很多人。
这些扩展的许多被创造了年前。因为核心
Tk
一向高度向后兼容,这些扩展一般继续与较新的版本。½是,有很多不½更
新,或未大幅更新,在很长时间。½前平台公约或样式,它们可½不会反映,所以在他们"工½",同时他们可以½您的应用
程序出现极信或不合适。
如果您决定½用传统知识的扩展,它强烈建议您调查并仔细复查您的选择。
更½地前进道路
Tk
还为您提供很多选择。至少六个不同的方式向布局窗口小部件在屏幕上,经常有多个不同的部件可以完成同样的事,尤
其是如果½数巨大琳琅满目的门票、
BLT、 BWidgets、 Itk
和其他人一样的传统知识扩展。其中大部分也是老了,大多数
½不更新,因此蹩脚的展望,并在许多情况下,他们提供的设½而废弃的最近纳入传统知识本身的更新、 更现代的设
½。½对于向后兼容性的原因,大部分的这些旧的做事方式仍继续工½,一年后一年。并不一定意味着人还应该用其中一
些。
所以有很多选择在传统知识,½坦率地说,所有选择获取的方式。如果½想要学习和½用传统知识,½不需要所有的选择,
½需要正确的选择,所以½不需要做所有的研究和自己做出这种选择。这是本教程会给½。把它½为文档相½于自以为是的
½件
。所以我们会经常½用不同的方式做事情比在其他文档或例子 ;通常,这是因为½那些被写了,更½的方法甚至还
不存在。稍后,一旦½是专家,½遇到一些古怪的情况正常选择不合适的地方,½可以走在附近寻找替代品。
如½½用
而本教程的设计,用于线性,随意跳来跳去,½认为合适。我们经常会提供的链接在哪里½½获得更多的信息,是否就此其
他文档的链接的½站,如"构件入围"上每个
Tk
小部件或外部文档如特定½令的完整引用提供½用信息。
本教程还允许您选择½种语言 (Tcl、 红宝石、
Perl
或
Python),以显示。您可以更改此由"显示:"弹出式菜单,其中½于
侧边栏顶部附近在本教程中的每个页面的权利。½它也可以看到传统知识½用不同的语言,它本身可以是颇为有趣和有用的
方式。
公约
通常所做,代码清单,口译员或
shell
½令和响应将以固定½度字½表示。½显示与译员交互式会话,您输入的部分另外
将大胆固定½度.
描述过程或方法的调用时, 的文字部分 (例如方法名称) 将会在普通固定½度字½、 哪里½应填写的实际值的参数将添加
斜½,和可选参数会被包围
'?',如"
设½变量?
值?
.
"
到文本的左侧出现的图标数目的用法如下:
这款由包含材料是具½与
Tcl
绑定到传统知识。
这款由包含材料所特有的红宝石绑定到传统知识。
这款由包含材料是具½与
Perl
绑定到传统知识。
这一段包括特定于
Python
绑定到传统的材料
这一段将帮助指出常见错误的人,或建议有用,½不是一定明显解决方案相关的主题。
这表明会以前做的
Tk 8.5
非常不同的事情在做事情的新方法。人们熟悉的传统知识,旧版本或工½上的
传统知识,较早版本开发的程序应密切注意。
这一段提供了一些附加的背景信息,它们是不严格有必要对这一专题的手,½这可以帮助您了解多一点
关于如½或为什么做事方式的理解。
这本教程中表明一些错误,本身并没有尚未得到纠正,或已被删除½尚未被替换的一节。
这表明最½容可以称为一个"粗糙的边缘"的传统知识中的一个区域。这可½表明一个错误的或丢失的
API,要求您在您的代码中½用一种替代方法。因为这些东西往往随着时间的推移得到固定,值得将其标
记在您的代码与"TODO",所以½可以记½以后回去,看看是否一个较新的
API
干净地解决了问题。
安装传统知识
在这一章,½就会得到安装在您的机器上的传统知识、 验证它工½,然后看到什么
Tk
程序一个简单的例子看起来像。
½然差不多所有
Mac OS X
与
Linux
的机器½带有传统知识已经安装,½它通常是较旧的版本 (通常为
8.4.x)。½想要确
保½有至少设½版本
8.5
½用的新工具,因此,已不存在,如果½想要安装较新的版本。
½然有很多安装传统知识的方法,最简单的方法是下½½并安装提供的
ActiveState (www.activestate.com
的版本之一).
ActiveState
是一家销售专业开发人员工具适用于动态语言的公司。他们还提供一些这些语言的 (免费)
质量控制分布和聘用的这些语言的核心开发者的数量会发生。
在
Mac OS X
上安装传统知识
在
Mac OS X
上获取传统知识的最简单方法是从
ActiveState,包括 Tcl、
传统知识,再加上许多其他扩展库安装
的"ActiveTcl"分布。
在您的
web
浏览器½到www.activestate.com ,并沿着链接下½½社区版的
ActiveTcl,可½为一个通用的二进制
文件。请确保您正在下½½的
8.5.x
版本,不是旧的
8.4.x
版本。
运行安装程序,把一切½加½½到您的机器上。½½完成了时,½会发现闪亮新的应用程序要求在您的应用程序文
件夹的实用工具文件夹内的"希望
8.5"。这是"希望"外壳程序,应用程序,其中包括 Tcl
和传统知识。
如果您在启动该应用程序中,您将看到两个窗口弹出菜单 (见下文)、 一个标题为"希望"将包含您的应用程序,
和第二题为"控制台"是您可以在其中键入
Tcl/Tk
的½令。
希望应用程序在
Mac OS X
上运行。
从
Unix
½令行的方便½用,½也会发现
/usr/local/bin/wish8.5,将启动同一应用程序½为安装的脚本。
若要验证您正在运行的
Tcl/Tk
的确切版本,从愿望控制台键入以下½令:
%i f p t h e e
no aclvl
我们希望这将返回像
'8.5.10'
的东西。
已验证的安装上
Mac OS X 10.7.1
½用
ActiveTcl 8.5.10.1。
½然以前版本的
Mac OS X
包括红宝石和传统知识
(½管旧 8.4
版本),雪豹这不再以来案件。
RubyTk
是一个针对现有的½单独的
Tk
库链接的绑定。所以要获得红宝石最新版本的传统知识,我们必须要做两
件事,第一次从
ActiveState,下½½最新的 8.5.x Tcl/Tk
版本,然后编译 (或重新编译)
Ruby
来½用它。
安装
ActiveTcl
"ActiveTcl"分布从 ActiveState
包含最新的传统知识,以及
Tcl (其中红宝石的 Tk
绑定内部½用来谈谈
Tk)
的最新
版本。在您的
web
浏览器½到www.activestate.com ,并沿着链接下½½社区版的
ActiveTcl,可½为一个通用的
二进制文件。再次,请确保您正在下½½的
8.5.x
版本,不是旧的
8.4.x
版本。
运行安装程序,一切½将被加½½到您的机器上。
编译红宝石
请确保½有苹果的开发者工具
(即 Xcode,包括海湾合½委员会和朋友)。然后如果½还没已经有了它,½
到www.ruby-lang.org
下½½最新的稳定 (目前
1.9.x)
版本的红宝石。
打开它,然后再从
Unix
½令行,运行 (请注意"配½"½令应该所有输入在一行上,< 安装目½
>
应替换为您希望
您的版本的安装
Ruby
的½½:
%. c n i u e - p e i = i s a l d r
/ofgr -rfx<ntl-i>
-wt-rhx66,36
-ihac=8_4i8
-eal-tra
-nbephed
-eal-hrd
-nbesae
%m k & m k i s a l
ae & ae ntl
要验证的一切工½,启动您新编译的副本
'irb'
和类型:
%r q i e ' k
eur t'
%T : T _ A C L V L
k:KPTHEE
第一行应加½½
RubyTk
;通常如果有一个问题与编译它将显示在此处。第二条线将返回的版本的传统知识,您正
在运行,应该是像"8.5.10"的东西。
½用
ActiveTcl 8.5.10、
红宝石
1.9.3-p0
和
Mac OS X 10.7.2
的验证的步骤。
为现代的传统知识编程中½用
Perl,强烈建议将"Tkx"模块,和我们将在这里½用的。设½的最简单方法是½
用"ActivePerl"分布从www.activestate.com
.
安装
ActivePerl > = 5.10
从
ActiveState
的"ActivePerl"分布不仅包括
Perl,还包括最新版本的传统知识和 Tcl (其中 Tkx
在内部½用来谈谈
Tk)。在您的 web
浏览器½到www.activestate.com ,并沿着链接下½½社区版的
ActivePerl,可½为一个通用的
二进制文件。
运行安装程序,一切½将被加½½到您的机器上。注意
ActivePerl
将会安装在
/usr/local/ActivePerl-5.x
(其中
'x'
是
实际的版本,例如
'14')。
要找出½用的什么版本的
Tk Perl
和
Tkx,请运行以下½令从 Unix
½令行:
%/ s / o a / c i e e l 5 1 / i / e l - T x - ' r n T x : n o " a c l v l ) '
urlclAtvPr-.4bnpr Mk e pit k:if(pthee";
我们希望这将返回"8.5.9"一样的东西。
ActivePerl 5.10
(和的某些首先
5.10
版本) 之前的版本包括早期版本的
Tcl Tk
(8.4.x 而不
是
8.5.x)。我们因此非常强烈建议您在升级到至少 ActivePerl 5.10,并验证您具有 Tk 8.5
或更高版本。
已验证的安装½用上的
Mac OS X 10.7.2 ActivePerl 5.14.2。
Tkinter
(和自
Python 3.1 ttk)
中包含的所有标准
Python
发行版。它是重要½½用
Python
支持
Tk 8.5
或更大和
ttk
的版本。我们建议您安装"ActivePython"分布从活动状态,其中包括½需要的一切。
在您的
web
浏览器½到www.activestate.com ,并沿着链接为
Mac OS X,½为一个通用的二进制文件提供下
½½社区
ActivePython
版。请确保您正在下½½一个
3.1
或更高版本的版本。
运行安装程序,按照
allong。½会最终与全新安装的 ActivePython
中/库/框架,并对受版本控制的
Python
二进制
文件放½在
/usr/本地链接/箱
(例如
'python3.2'
如果您下½½了
ActivePython 3.2.x)。从一个终端窗口½然后应该
½够运行
Python shell:
%/ s / o a / i / y h n .
urlclbnpto32
这应该给½
Python
½令提示符。提示符下,输入这两个½令:
>>i p r t i t r
> mot kne
>>t i t r _ e t )
> kne.ts(
这应该弹出一个小窗口 ;在窗口的顶部的第一行应该说"这是
Tcl/Tk
版本
8.5";请确保它不是 8.4
!
½也可以与正在½用的
Tcl/Tk
的确切版本:
>>t i t r T l ) e a ( i f p t h e e '
> kne.c(.vl'no aclvl)
其中应返回像
'8.5.10'
的东西。
已验证的安装上
Mac OS X 10.7.1
½用
ActivePython 3.2.1.2。
在
Windows
上安装传统知识
在
Windows
上,拿到您的机器上的
Tcl/Tk
的最简单方法是从
ActiveState,包括 Tcl、
传统知识,再加上许多其
他扩展库安装的"ActiveTcl"分布。
在您的
web
浏览器½到www.activestate.com ,并沿着链接下½½社区版的
ActiveTcl
用于
Windows
的。请确保
您正在下½½的
8.5.x
版本,不是旧的
8.4.x
版本。
运行安装程序,并按照。½就会死于
ActiveTcl,通常½于 C:\Tcl
的全新安装。从
DOS
½令提示符或开始菜单
的"运行..."½令,然后应该是½够运行通过
Tcl/Tk 8.5
外壳:
%C \ c \ i \ i h 5
:Tlbnws8
这应该弹出一个小窗口,标题为"wish85",将包含您的应用程序。第二,较大的窗口标题为"控制台"是您可以在
其中键入
Tcl/Tk
的½令。若要验证您正在运行的
Tcl/Tk
的确切版本,键入以下½令:
%i f p t h e e
no aclvl
我们希望这将返回像
'8.5.10'
的东西。
键入"exit"退出控制台窗口中。您还可½想要将
C:\Tcl\bin
添加到
PATH
环境变量。
已验证的安装在
Windows 7
上½用
ActiveTcl 8.5.10.1。
RubyTk
是为传统安装您的
Windows
机器以前是纯地狱,涉及安装
Tcl/Tk
的一个单独版本、 下½½类似
Visual
Studio
开发环境、 下½½
Ruby
源代码中,仔细地编译红宝石,绑定...
幸运的是,(自
2011
年
7
月) 现在是却非常简单,因为RubyInstaller
Windows
秀和易于½用的安装程序的一部分。非常感谢大家 !
因此,所有½需要做是下½½并运行RubyInstaller
装的一切入到目½中选择,例如"C:\Ruby192"。
½人现在包括
Tk 8.5
½为其优
,并确保检查的选项在安装程序中包括
Tcl/Tk
的支持。这将安
要验证的版本的传统知识,启动您新安装的副本
'irb'
(这会在安装了例如"C:\Ruby192\bin"),并键入:
%r q i e ' k
eur t'
%T : T _ A C L V L
k:KPTHEE
第一行应该加½½
RubyTk。第二条线将返回的版本的传统知识,您正在运行,应该是像"8.5.10"的东西。
已验证的安装在
Windows 7
上½用
Rub yInstaller 1.9.2-p290。
为现代的传统知识编程中½用
Perl,强烈建议将"Tkx"模块,和我们将在这里½用的。设½的最简单方法是½
用"ActivePerl"分布从www.activestate.com
.
安装
ActivePerl > = 5.10
从
ActiveState
的"ActivePerl"分布不仅包括
Perl,还包括最新版本的传统知识和 Tcl (其中 Tkx
在内部½用来谈谈
Tk)。在您的 web
浏览器½到www.activestate.com ,并沿着链接下½½社区
ActivePerl
版。
运行安装程序,一切½将被加½½到您的机器上。在我们的机
perl.exe
安装在"C:\perl 在"
要找出½用的什么版本的
Tk Perl
和
Tkx,请运行以下½令从 Windows
½令提示符:
%p r - T x - " r n T x : n o " a c l v l ) "
el Mk e pit k:if(pthee";
我们希望这将返回"8.5.9"一样的东西。
ActivePerl 5.10
(和的某些首先
5.10
版本) 之前的版本包括早期版本的
Tcl Tk
(8.4.x 而不
是
8.5.x)。我们因此非常强烈建议您在升级到至少 ActivePerl 5.10,并验证您具有 Tk 8.5
或更高版本。
已验证的安装在
Windows 7
上½用
ActivePerl 5.12.4。
Tkinter
(和自
Python 3.1 ttk)
中包含的所有标准
Python
发行版。它是重要½½用
Python
支持
Tk 8.5
或更大和
ttk
的版本。我们建议您安装"ActivePython"分布从活动状态,其中包括½需要的一切。
在您的
web
浏览器½到www.activestate.com
,并沿着链接下½½社区版的
ActivePython
用于
Windows
的。请
确保您正在下½½
3.1
或更新的版本,不是
2.x
版。
运行安装程序,并按照。½会用全新安装的
ActivePython,½于下,例如 C:\python32。从 Windows
½令提示符
或开始菜单的"运行..."½令,然后应该是½够运行一个
Python shell
通过:
%C \ y h n 2 p t o
:pto3\yhn
这应该给½
Python
½令提示符。提示符下,输入这两个½令:
>>i p r t i t r
> mot kne
>>t i t r _ e t )
> kne.ts(
这应该弹出一个小窗口 ;在窗口的顶部的第一行应该说"这是
Tcl/Tk
版本
8.5";请确保它不是 8.4
!
½也可以与正在½用的
Tcl/Tk
的确切版本:
>>t i t r T l ) e a ( i f p t h e e '
> kne.c(.vl'no aclvl)
其中应返回像
'8.5.9'
的东西。
已验证的安装在
Windows 7
上½用
ActivePython 3.2.1.2。
在
Linux
上安装传统知识
½然
Linux
发行版与
Tcl/Tk
安装漂亮得多½来,大多数包括
Tk 8.4.x,和我们想要确保获取 8.5.x
版本。执行此操
½最简单的方法是从
ActiveState,包括 Tcl、
传统知识,再加上许多其他扩展库安装的"ActiveTcl"分布。
在您的
web
浏览器½到www.activestate.com
的
8.5.x
版本,不是旧的
8.4.x
版本。
,并沿着链接下½½社区
ActiveTcl
版的
linux。请确保您正在下½½
解压缩它,并运行安装程序 (install.sh),并按照。½就会死于
ActiveTcl,½于 /opt/ActiveTcl-8.5
的全新安
装。然后,您应该½够运行通过
Tcl/Tk 8.5
外壳:
%/ p / c i e c - . / i / i h .
otAtvTl85bnws85
评论