The fundamental unit of a Tkinter GUI is a Widget. You can use the "built-in" widgets that are provided by Tk (listed below), create your own, or install extension packages that define additional widgets.
Widgets provided by Tk include:
Widgets added in Tk 8.4 include:
Also compound buttons, labels, and menu items. the compound option allows you to display both the text and image. ExampleCompoundButton
(In the interest of WikiWikiNess, should we change the above to ButtonWidget, CanvasWidget, etc.?) [no. The above should be named like the Python classes. --jepler](I agree keep them the same as Tkinter class names - but do we need the '/'? MF)
BTW, you can get all configuration options for any widget with: for k in widget.configure().keys(): print k, ':', widget.cget(k) -john grayson eg. >>> from Tkinter import Button >>> b = Button() >>> for k in b.configure().keys(): print k, ':', b.cget(k)
Additional Tkinter (pure python) widgets:
http://home.cfl.rr.com/genecash/tree/index.html An efficient optimized tree control widget written in native Python and Tkinter
http://matt.gushee.net/software/treewidgets/ A general-purpose tree widget library for Tkinter
Additional Tcl/Tk widgets that have Python Tkinter wrappers include:
Tktreectrl is an extremely capable hierarchical multicolumn listbox widget written in C. With Tktreectrl you can create treeviews, multi column lists or even file manager alike layouts (see the tktreectrl page for screenshots). A complete and well documented Python wrapper is available here. The TkinterTreectrl package also includes a ready to use multi column listbox class using Tktreectrl and a generic scrolled widget that can be used to easily add one or two static or automatic scrollbars to any listbox-alike Tkinter widget (BTW, most of the scrolled widget's code was shamelessly lifted from the Pmw.ScrolledListBox).
Additional widget sets you can use with Tkinter include:
Easygui from Stephen Ferg: A self-contained package of GUI elements you can incorporate into existing Python programs without any knowledge of event-driven programming.
PmwContribD on Sourceforge. The PmwContrib D library consists of several Pmw-based Tkinter widgets including a ProgressDial, SimpleTable, Table, basic TreeExplorer, Font Chooser dialog, Text tag attribute chooser dialog, PipeOutputWindow, Multi-Column Scrolled Listbox, a few other goodies, and a GUI application framework for creating simple GUI apps quickly.
Tix widgets on Sourceforge
Blt graphical widgets for Pmw, on Sourceforge
tVector from http://www.freenet.org.nz/python/tVector/ is an alternative to the pack() and grid() widget placement methods that allows you to instead place objects in rows and columns much like an HTML table.
TclMacBag is "[a] bag of widgets for Tcl on the Mac". It's particularly easy to install, and focused on Mac-oriented "prettiness".
Need some text on how and where to install some of these widget sets (Blt is especially problematic). Also, need some screenshots (nothing is available for bwidgets) on some of these resources. Lastly, is it possible to mix and match the widgets?