My final recommendation are
- Save often.
- Spring for Grayson’s book.
- Save often.
- Please report problems.
First thanks to HP for assigning the rights of PAGE to me which allows me to make this available to the Python community.
Again, let me acknowledge that PAGE is built on top of Visual Tcl. Without that work I would not have known how to get started.
George Tellalov introduced me to relative placement and made numerous helpful suggestions.
Guilherme Polo did a marvelous job implementing and documenting Pyttk. He helped me understand several of the new ttk widgets and showed how to easily build scrolled versions of them. His documentation convinced me to use Sphinx for the PAGE documentation.
I would like to thank Greg Walters especially for writing a series of articles on Python programming that include two on PAGE and for his encouraging me to get the Alias feature working correctly. (See below for references and URL’s.) I borrowed from his article the code for busy cursors included as a sample above.
I would like to acknowledge the work of Kent Fox in aiding testing of PAGE on three systems and bringing to light several bugs.
I borrowed the ColorDlg.tcl color picker from Le site de Jack. I found it very satisfactory and give my thanks.
Also borrowed was ColorExplorer written by William J. Poser.
Alexander Walters suggested the code for importing the tkinter and ttk modules adopted in PAGE 4.1.
Sam Manzi made numerous helpful suggestions and helped test recent versions of PAGE.
Many people have reported bugs and made suggestions. Piero Ronchi and Paul Kreiger have been especially helpful. In addition, Paul Kreiger donated a set of PAGE icons and a canvas example.
Bob Stanton suggested displaying both the GUI module and the Support module in separate Python Consoles and also firing up an IDE with the two modules. Both were excellent ideas and so implemented.
One problem that many people must encounter when trying to use Tkinter with python is locating adequate documentation. I relied heavily on Grayson’s book particularly to see how to map the various tcl calls and configuration options into python calls and for descriptions of the available functions. I would have gotten nowhere without this reference. Unfortunately, Grayson predated the ttk widget set by several years.
Another extremely helpful reference is: An Introduction to Tkinter by Fredrik Lundh.
Recently, Full Circle Magazine, a very interesting web magazine devoted to Ubuntu and Ubuntu derived Linus distributions, has published a series of Python HOW TO articles written by Greg Walters. The series covers introductory Python programming articles as well as several devoted to GUI programming including Tkinter and two articles on using PAGE. A partial list of articles may be found at Greg’s Web site above. Fortunately, there have been four special issues of Full Circle Magazines which have collected all but the most recent of Greg Walters’ articles. They may be found at:
|Volume||URL for download||Size|
Volume 4 does not contain the most recent articles (30 and 31) which deal with PAGE. I have put those together as python-page.pdf. In the future I fully expect that these articles will be incorporated in another Python Special issue. Until then I will keep this pdf on the PAGE web site.
I have also found Tkinter 8.5 reference: a GUI for Python by John W. Shipman from New Mexico Tech helpful on many occasions.
See also http://effbot.org which contains hundreds of articles on Python and related technologies (including PIL, ElementTree, Tkinter, and other extensions). I have used this reference repeatedly.
For Tcl/Tk documentation visit: Tcl Developer Site.
A very useful Tk tutorial with information about ttk widgets and styles is TkDocs.
Since some people find Python Lambda usage confusing, Grant Hilebrand suggested including a reference to the excellent tutorial at https://pythonconquerstheuniverse.wordpress.com/2011/08/29/lambda_tutorial/.
Unfortunately, there is no useful documentation for Visual Tcl like so many Open Source projects.
I have recently turned on a discussion forum on the SourceForge summary page General Discussion.
For information on sharing variables and functions between Python modules see is how to share global variables across module. A good reference is How do I share global variables across modules?.
I really welcome the reporting of problems; that is the only way I can catch many of them. When reporting problems to Don dot Rozenberg at gmail dot complease include the following: