Python 运行tcl 方式初探


Python 运行tcl 方式初探

 

为增强ATOP程序与tcl/tk 的互动性, 探讨使用python 编写ATOP程序后,能够有效运行现有的TCL 脚本功能,增强ATOP程序的功能。

Python 执行TCL功能有两种:

1. 进程内执行(内含TCL解析器)使用eval 命令实现

2. 进程外执行 调用tclsh/wish.exe 执行,该方式与目前ATOP 方式一致,不做讲解

 

下面讲解第1 种方法

 

1. Python 运行tcl 脚本

From Tkinter import Tcl

r=Tcl()

r.eval('package require itclx')

r.eval('cd $env(TCLSPACE)/ATOP')

r.eval('source lib/ct/ctCaseDv.tcl')

r.eval('source lib/ct/ctCaseDv.tcl')

 

使用eval 命令执行tcl脚本。

作用:

1) 可以将常用的 操作,如 Excel 转tcl, 刷新XML目录树,等功能集成到ATOP

2)  加强GUI 和TCL 之间的沟通。

 

2. 由于 Python 默认的TCL版本是tcl8.5 ,不支持itcl4.0 版本所以需要C:\Python27\DLLs\_tkinter.pyd 文件进行重新编译,使用tcl8.6版本。

2.1 下载python 2.7 源文件解压缩,使用vs2008 打开PCbuild\_tkinter.vcproj,

2.2 设置头 文件目录为 tcl/include 目录,设置库文件目录为 Tcl\lib 目录。

 

 

2.3 设置 附加依赖项为 tcl86.lib tk86.lib

 

2.4 选择项目,点击 生成即可。

2.5 将生成的_tkinter.pyd 替换Python 安装目录dlls目录下 原文件

2.6 拷贝TCL安装目录 bin目录下的tcl86.dll,tk86.dll

到Python  dlls 目录下

设置环境变量TCL_LIBRARY 为ATOP 的TCL目录下的 init.tcl 所在的目录,使用反斜杠 “/”

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM