introduction to gui programming for developing gui programs that must run on any or all python desktop platforms ( windowsmac os xand linux)using only standard python installation with no additional librariesthere is just one choicetk if it is possible to use third-party libraries the number of options opens up considerably one route is to get the wck (widget construction kitwww effbot org/zone/wck htmwhich provides additional tk-compatible functionality including the ability to create custom widgets whose contents are drawn in code the other choices don' use tk and fall into two categoriesthose that are specific to particular platform and those that are cross-platform platform-specific gui libraries can give us access to platform-specific featuresbut at the price of locking us in to the platform the three most well-established crossplatform gui libraries with python bindings are pygtk (www pygtk org)pyqt (www riverbankcomputing com/software/pyqt)and wxpython (www wxpython orgall three of these offer far more widgets than tkproduce better-looking guis (although the gap has narrowed with tk and even more with ttk)and make it possible to create custom widgets drawn in code all of them are easier to learn and use than tk and all have more and much better python-oriented documentation than tk and in generalprograms that use pygtkpyqtor wxpython need less code and produce better results than programs written using tk (at the time of this writingpyqt had already been ported to python but the ports of both wxpython and pygtk were still being done yet despite its limitations and frustrationstk can be used to build useful gui programs--idle being the most well known in the python world furthermoretk development seems to have picked up latelywith tk offering theming which makes tk programs look much more nativeas well as the welcome addition of many new widgets the purpose of this is to give just flavor of tk programming--for serious gui development it is best to skip this (since it shows the vintage tk approach to gui programming)and to use one of the alternative libraries but if tk is your only option--for exampleif your users have only standard python installation and cannot or will not install third-party gui library--then realistically you will need to learn enough of the tcl language to be able to read tk' documentation in the following sections we will use tk to create two gui programs the first is very small dialog-style program that does compound interest calculations the second is more elaborate main-window-style program that manages list of bookmarks (names and urlsby using such simple data we can the only python/tk book known to the author is python and tkinter programming by john graysonisbn published in it is out of date in some areas good tcl/tk book is practical programming in tcl and tk by brent welch and ken jonesisbn all the tcl/tk documentation is online at www tcl tkand tutorials can be found at www tkdocs com