我在Python脚本中看到了调用函数,称为
tk.call(),但我不明白它的含义.没有与之相关的文档.
任何人都可以解释一下功能的call()功能.
这是一个简单的例子:
p.tk.call(p, 'put', color, '-to', 0, 0, p['width'], p['height'])
Run Code Online (Sandbox Code Playgroud)
该函数的功能,这里p是PhotoImage小部件.
Bry*_*ley 13
Tkinter不是纯粹的python.它的基础是一个实时的Tcl解释器,其扩展名为"tk",加载到解释器中.大多数Tkinter命令,方法和对象最终都会作为tcl命令的调用结束.例如,当您执行以下操作时:
root = tk.Tk()
f = tk.Frame(root)
b = tk.Button(f, text="Press me!")
Run Code Online (Sandbox Code Playgroud)
......它被翻译成(大致)像这样的东西:
package require tk
frame .f
button .f.b -text "Press me!"
Run Code Online (Sandbox Code Playgroud)
(注意:Tkinter实际上生成的名称比.f和更复杂.f.b,但概念是相同的)
该call方法是此底层tcl解释器的接口.它允许您构造一个tcl命令并要求解释器运行它.它是python和tcl之间的桥梁.
它通常不在应用程序级代码中使用,但在极少数情况下它可能很有用,其中tcl/tk周围的Tkinter包装器不提供对tcl/tk支持的某些功能的访问.
小智 5
Tk.call()来自Tkinter 模块,它可用于直接从 Tkinter 小部件执行基于tcl的命令。获取用户操作系统的示例 Tkinter 命令:
root.tk.call('tk', 'windowingsystem')
Run Code Online (Sandbox Code Playgroud)
windowingsystemtcl 的功能在哪里?
据我所知,没有关于tk.call().