python - 有没有办法将 Python/Tkinter 连接到已经运行的 Tcl/Tk 应用程序?

标签 python tkinter tcl tk-toolkit

我在 Pure Data 上做了很多工作,这是一个用 Tcl/Tk 和 C 编写的应用程序。我希望能够为修改 Tcl/Tk GUI 的插件制作一个 Python API。为此,似乎我需要能够将正在运行的 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

关于python - 有没有办法将 Python/Tkinter 连接到已经运行的 Tcl/Tk 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573493/

相关文章:

python - Elasticsearch : How to delete an Index using python

python - 如何禁用 PyQt 中 QTreeView 和 QFileSystemModel 的双击文件重命名行为?

python - 如何从 tkinter 中的特定网格位置检索值?

bash - 调试 tcl 流程 - 就像 bash -

module - TCL:如何检查环境变量是否已设置

python - 从 0-d numpy 数组中恢复字典

python - 如何在 Django 1.8 中连接表

python - 我遇到错误 'Attempt to use a closed connection.'

python - 如何修复函数tkinter的int float

tcl - 了解大括号的用法