我在Pure Data上工作了很多,这是一个用Tcl / Tk和C编写的应用程序.我希望能够为插件创建一个python API来修改Tcl / Tk GUI.为此,似乎我需要能够将正在运行的Tk实例传递给python,然后让Tkinter将Tcl / Tk实例用于其命令.所以类似于:
root = Tk(pid_of_running_app)
解决方法:
看看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