2012-01-17 16 views
5

यदि मैं टिंकर में एक विजेट बनाता हूं तो मैं एक विजेट नाम निर्दिष्ट कर सकता हूं जो टीसीएल/टीके "विजेट पथ" अवधारणा में भाग लेता है। उदाहरण के लिए:क्या Tkinter में नाम से विजेट खोजना संभव है?

from Tkinter import * 
button = Button(Frame(Tk(), name = "myframe"), name = "mybutton") 
str(button) == ".myframe.mybutton" 

क्या मेरे उदाहरण में "mybutton" नाम से विजेट प्राप्त करना संभव है?

उत्तर

7

हाँ, पर आप रूट "टी" उदाहरण के लिए एक संदर्भ पकड़ करने के लिए है: बस "Tk.nametowidget" विधि का उपयोग करें:

>>> from Tkinter import * 
>>> win = Tk() 
>>> button = Button(Frame(win, name = "myframe"), name = "mybutton") 
>>> win.nametowidget("myframe.mybutton") 
<Tkinter.Button instance at 0x2550c68> 
3

हर Tkinter विजेट एक विशेषता children जिनमें से एक शब्दकोश है widget namewidget instance। यह देखते हुए कि, कोई भी उपविड्ज प्राप्त कर सकता है:

widget.children['subwidget_name'].children['subsubwidget_name'] # ... 
संबंधित मुद्दे