在Python中通过Tkinter执行Tcl命令
很多人可能不知道Tcl这门脚本程序语言。
但不少人知道Tkinter
这个用于在Python中开发GUI程序的模块。
然而很少有人意识到Tkinter
的存在使得在Python中执行Tcl命令变成一件简单的事情。
Python + Tcl
(图片来自 https://www.scriptol.com/)
Tcl through Tkinter in Python
下面是在Python中通过Tkinter模块执行Tcl命令的示例。
Python 2.7.9 (default, Mar 1 2015, 18:22:53)
>>> import Tkinter
>>> Tkinter.TclVersion
8.6
>>> tcl = Tkinter.Tcl()
>>> tcl.setvar("abc", 123)
>>> tcl.getvar("abc")
123
>>> tcl.eval("set abc 456")
'456'
>>> tcl.getvar("abc")
'456'
>>>
其实主要就是五个命令
tcl = Tkinter.Tcl()
创建一个Tcl解释器tcl.setvar("abc", 123)
用于设置Tcl变量tcl.getvar("abc")
用与获取Tcl变量值tcl.eval("tcl command")
用于执行Tcl命令tcl.evalfile("test.tcl")
用于执行Tcl脚本
用Python作为Tcl/Tk解释器
如果你喜欢或者需要用Tcl/Tk进行开发,在手头没有Tcl/Tk解释器的情况下。Python里的Tkinter模块给我们提供了一种新的可能。
鉴于Python目前的流行度远大于Tcl语言,这种可能性使得Tcl/Tk开发者也许可以让自己的Tcl/Tk程序通过船上Python的外衣来进行发布。
主程序main.py
只需要通过Tkinter调用执行main.tcl
即可。示例代码如下:
import Tkinter
Tkinter.Tcl().evalfile("main.tcl")