是否可以在tkinter中模拟Tk接收?

时间:2019-02-03 04:05:37

标签: python-3.x tkinter tk

我有一个应用程序,它支持使用send方法与其他 Tk 应用程序进行通信。在 Tcl / Tk 中,可以通过从另一个 Tk 应用中调用send()并在一个 Tk 应用中调用用户子例程很容易。接收应用程序和子例程nameargs。在 Perl 中,可以做更多的工作(覆盖Tk::Receive的定义以处理来自另一个应用程序的send方法的传入消息)。

有人知道使用 tkinter 接收来自 Tk send的外部消息吗?我想有一个子例程,可以在mainloop()中调用该子例程来处理传入消息。

1 个答案:

答案 0 :(得分:0)

感谢@jasonharper,以下代码在python 3.6中有效:

from tkinter import *
root = Tk()

def some_func(*args):
    print("Got args: " + ",".join(args))

# Create a command called my_func that calls some_func
root.tk.createcommand("my_func", some_func)

root.mainloop()

例如如果我从另一个Tk应用程序中进行了send tk my_func hey,假设默认的tkinter应用程序名称为tk,那么我将从上面的代码中看到Got args: hey