如果我在Tkinter中创建一个小部件,我可以指定参与tcl/tk"小部件路径"概念的小部件名称.例如:
from Tkinter import *
button = Button( Frame( Tk(), name = "myframe" ), name = "mybutton" )
str( button ) == ".myframe.mybutton"
Run Code Online (Sandbox Code Playgroud)
是否有可能通过它的名字获取一个小部件,在我的例子中是"mybutton"?
是的,但您必须保留对根"Tk"实例的引用:只需使用"Tk.nametowidget"方法:
>>> from Tkinter import *
>>> win = Tk()
>>> button = Button( Frame( win, name = "myframe" ), name = "mybutton" )
>>> win.nametowidget("myframe.mybutton")
<Tkinter.Button instance at 0x2550c68>
Run Code Online (Sandbox Code Playgroud)
每个Tkinter小部件都有一个属性children,该属性是widget name?的字典。widget instance。鉴于此,可以通过以下方式找到任何子部件:
widget.children['subwidget_name'].children['subsubwidget_name'] # ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5675 次 |
| 最近记录: |