反正有没有将Python / Tkinter连接到已经运行的Tcl / Tk应用程序?

时间:2011-04-06 22:00:49

标签: python tkinter tcl tk

我在Pure Data上工作了很多,这是一个用Tcl / Tk和C编写的应用程序。我希望能够为插件创建一个python API来修改Tcl / Tk GUI。为此,似乎我需要能够将正在运行的Tk实例传递给python,然后让Tkinter将Tcl / Tk实例用于其命令。如下所示:

root = Tk(pid_of_running_app)

3 个答案:

答案 0 :(得分:5)

看看send命令,你可以做到这一点(对于Tk应用程序,而不是普通的Tcl应用程序)。我一直从我的Emacs(连接到运行Tk应用程序)这样做。

Tcl / Tk不会让你奴役另一个进程,但是使用send命令,你可以轻松发送你想要的任何命令。只需使用[winfo interps]找到另一个解释器的“名称”(注意:您的Tk应用程序的名称可以由[tk appname]获取/设置。此时,您想要执行的任何命令另一名口译员将通过评估

发送
send $other_app tk_dialog . "Sample Dialog" "See, it's this easy." "" 0 Ok

答案 1 :(得分:1)

选项是使用Tk的内置send基础结构(如Trey提及的)或使用comm中的Tcllib包。应该可以直接从Python谈谈comm协议,但是我从来没有仔细研究过这些细节,所以你不妨引导它。

答案 2 :(得分:0)

您可以使用套接字在2个应用之间进行通信。