python-tkinter包tk。

2024-10-01 09:34:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中使用tcl运行python 有两种方法可以运行tcl命令:

import tkinter 
root = tkinter.Tk()
root.eval("winfo exists .l0")
root.tk.call("winfo exists .l0")

它们有相同的含义

但有什么不同? 如果我没有定义一个widget名称 我可以直接使用

^{pr2}$

是吗? 因为python告诉我“str没有属性winfo\u exists”


Tags: 方法import命令定义tkinterexistsevalroot
1条回答
网友
1楼 · 发布于 2024-10-01 09:34:22

区别在于call将每个参数作为一个单独的词传递给tcl,其中eval将首先解析一个字符串,然后执行它来计算它。在

换句话说,这:

root.eval("winfo exists .l0")

。。。在功能上与此相同:

^{pr2}$

至于错误消息'str' object has no attribute 'winfo_exists',它的意思就是。"l0"是嵌入式tcl解释器中对象的名称,但在python中{}只是一个字符串,python字符串没有{}属性。在

相关问题 更多 >