[Tkinter-discuss] Code to dump widget info

Jim Kleckner jek-gmane at kleckner.net
Thu Feb 21 17:23:51 CET 2008


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])



More information about the Tkinter-discuss mailing list