python - 如何使用 Python 调用 TCL 过程

标签 python tkinter tcl

使用下面的代码我可以调用 Proc.tcl 文件中的所有过程,但我想单独调用 sum 或 sub 之类的过程,请让我知道调用它的任何其他可能性

我的proc文件程序,

 puts "hello"
    proc sum {a b} {

     set c [expr $a + $b]
     puts "Addition: $c "
    }




  proc sub {a b} {

     set c [expr $a - $b]
     puts "Substraction: $c "
    }

我的主文件程序,

 import Tkinter
    import os
    r=Tkinter.Tk()
    r.tk.eval('source proc.tcl')

最佳答案

就这样继续吧

>>> import Tkinter
>>> r = Tkinter.Tk()
>>> r.tk.eval('proc sum {a b} {set c [expr {$a + $b}]; puts "Sum $c"; return $c}')
''
>>> r.tk.eval('sum 2 5')
Sum 7
'7'

因此,在您的情况下,获取 tcl 文件后,您只需执行 r.tk.eval("sum 5 5") 即可调用该过程。

注意:在 tcl 中总是用括号括起 expr 表达式。正如我上面的例子。

关于python - 如何使用 Python 调用 TCL 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439936/

相关文章:

python - 获取 Tkinter 文本小部件中最后一个字符的位置

Python GTTS错误: AttributeError: 'NoneType' object has no attribute 'group'

python - 使 Tkinter Entry 小部件只读但可选择

python - 我想限制 Tkinter 回调运行的频率

c - TCL/C - 何时调用 setFromAnyProc()

tcl - 在 native OO 中是否有替代 itcl::find 的方法?

python - 全局列表不断变化,尽管复制

python 请求和 TLS

python - 如何使客户端套接字以非阻塞方式从另一个套接字接收数据?

shell - 使用 tcl 执行 shell 命令