[Tkinter-discuss] Code to dump widget info

ron.longo longorh at npt.nuwc.navy.mil
Tue Mar 25 14:32:31 CET 2008


Jim,

This is a great piece of code.  Why don't you add it to the Python Cookbook?

Ron



Jim Kleckner-5 wrote:
> 
> I'm posting this code snippet for others who might want a cheap
> way to see into the widget methods/attributes/configure options.
> 
> Cheers - Jim
> 
> import Tkinter
> 
> allWidgets = {
>      "Wm":          Tkinter.Wm,
>      "Tk":          Tkinter.Tk,
>      "Event":       Tkinter.Event,
>      "Variable":    Tkinter.Variable,
>      "StringVar":   Tkinter.StringVar,
>      "IntVar":      Tkinter.IntVar,
>      "DoubleVar":   Tkinter.DoubleVar,
>      "BooleanVar":  Tkinter.BooleanVar,
>      "Misc":        Tkinter.Misc,
>      "CallWrapper": Tkinter.CallWrapper,
>      "Pack":        Tkinter.Pack,
>      "Place":       Tkinter.Place,
>      "Grid":        Tkinter.Grid,
>      "BaseWidget":  Tkinter.BaseWidget,
>      "Widget":      Tkinter.Widget,
>      "Toplevel":    Tkinter.Toplevel,
>      "Button":      Tkinter.Button,
>      "Canvas":      Tkinter.Canvas,
>      "Checkbutton": Tkinter.Checkbutton,
>      "Entry":       Tkinter.Entry,
>      "Frame":       Tkinter.Frame,
>      "Label":       Tkinter.Label,
>      "Listbox":     Tkinter.Listbox,
>      "Menu":        Tkinter.Menu,
>      "Menubutton":  Tkinter.Menubutton,
>      "Message":     Tkinter.Message,
>      "Radiobutton": Tkinter.Radiobutton,
>      "Scale":       Tkinter.Scale,
>      "Scrollbar":   Tkinter.Scrollbar,
>      "Text":        Tkinter.Text,
>      "_setit":      Tkinter._setit,
>      "OptionMenu":  Tkinter.OptionMenu,
>      "Image":       Tkinter.Image,
>      "PhotoImage":  Tkinter.PhotoImage,
>      "BitmapImage": Tkinter.BitmapImage,
>      "Spinbox":     Tkinter.Spinbox,
>      "LabelFrame":  Tkinter.LabelFrame,
>      "PanedWindow": Tkinter.PanedWindow,
>      "Studbutton":  Tkinter.Studbutton,
>      "Tributton":   Tkinter.Tributton,
> }
> 
> someWidgets = {
>      "Button":      Tkinter.Button,
>      "Canvas":      Tkinter.Canvas,
>      "Checkbutton": Tkinter.Checkbutton,
>      "Entry":       Tkinter.Entry,
>      "Label":       Tkinter.Label,
>      "Listbox":     Tkinter.Listbox,
>      "Menu":        Tkinter.Menu,
>      "Menubutton":  Tkinter.Menubutton,
>      "Message":     Tkinter.Message,
>      "Radiobutton": Tkinter.Radiobutton,
>      "Scrollbar":   Tkinter.Scrollbar,
>      "Text":        Tkinter.Text,
>      "Spinbox":     Tkinter.Spinbox,
>      "LabelFrame":  Tkinter.LabelFrame,
>      "PanedWindow": Tkinter.PanedWindow,
> }
> 
> if __name__ == '__main__':
>      kl = allWidgets.keys()
>      kl.sort()
>      for k in kl:
>          print "%s:" % k
>          instance = allWidgets[k]
>        # options = instance.configure()
>          options = instance.__dict__
>          ol = options.keys()
>          ol.sort()
>          for o in ol:
>              print "  %s\t%s" % (o, options[o])
>      #for k in []:
>      print '\n##################\n'
>      kl = someWidgets.keys()
>      kl.sort()
>      root = Tkinter.Tk()
>      for k in kl:
>          print "%s:" % k
>          instance = someWidgets[k](root)
>          options = instance.configure()
>        # options = instance._configure()
>          ol = options.keys()
>          ol.sort()
>          for o in ol:
>              print "  %s\t%s" % (o, options[o])
> 
> _______________________________________________
> Tkinter-discuss mailing list
> Tkinter-discuss at python.org
> http://mail.python.org/mailman/listinfo/tkinter-discuss
> 
> 

-- 
View this message in context: http://www.nabble.com/Code-to-dump-widget-info-tp15615447p16274775.html
Sent from the Python - tkinter-discuss mailing list archive at Nabble.com.



More information about the Tkinter-discuss mailing list