[Tutor] Python and Tkinter Programming by Grayson--New Version?

Chris Fuller cfuller084 at thinkingplanet.net
Tue Mar 17 20:04:39 CET 2009


This is a super book for beginners who are new to GUI programming.  Tkinter is 
easy to use, and comes included with Python.  Serious programmers will 
probably want something faster, better looking, and with nicer features, but 
they can be tricky to figure out and install.  I still prefer Tkinter for 
quick and dirty work or programs with simple interfaces.

Pmw is a very nice system.  I wish it was easily adapted to other GUI 
toolkits.  Development on it has mostly ended, although not entirely, there 
was a new release within the last year.  You will find it very useful if you 
write anything moderately interesting with Tkinter.

This book does not cover the Tix widget set, which was originally created for 
Tcl/Tk and later included with Tkinter, after this book was published.  I 
find that Pmw covers most of the problem space that Tix is suited for, but a 
beginner may have a different experience.

I was disappointed when I heard that this book was no longer in print.  I 
still have my copy, however, so all I need to do is make sure I clutch onto 
it tightly, and I'll be aright :)

Cheers

On Tuesday 17 March 2009 10:08, Wayne Watson wrote:
>  I've poked around at the pieces of the book in Subject, which are on the
> web--two chapters. It was published in 2000, first ed. It looks quite good,
> and certainly is big, 680 or so pages. He sells a digital version. It uses
> Pmw, which I barely no more than how to spell it. Is that even current any
> longer? I'd like to think the author is going to produce another version.
> Anyone know? Here's a clipped version of the contents. It got good review
> on Amazon.
>
>  bout the cover xxii
>  author online xxiii
>  Part 1 Basic concepts 1
>
>  1 Python 3
>      1.1 Introduction to Python programming and a feature review 3
>
>      Why Python? 4, Where can Python be used? 5
>
>      1.2 Key data types: lists, tuples and dictionaries 5
>
>      Lists 5, Tuples 7, Dictionaries 8
>
>      1.3 Classes 9
>
>      How do classes describe objects? 9, Defining classes 9, Neat Python
> trick #10 9, Initializing an instance 10, Methods 10, Private and public
> variables and methods 11, Inheritance 11, Multiple inheritance 11, Mixin
> classes 11
>
>  2 Tkinter 12
>      2.1 The Tkinter module 12
>
>      What is Tkinter? 12, What about performance? 13, How do I use Tkinter?
> 13, Tkinter features 14
>
>      2.2 Mapping Tcl/Tk to Tkinter 14
>      2.3 Win32 and Unix GUIs 15
>      2.4 Tkinter class hierarchy 16
>      2.5 Tkinter widget appearance 17
>  3 Building an application 18
>      3.1 Calculator example: key features 21
>      3.2 Calculator example: source code 21
>      3.3 Examining the application structure 27
>      3.4 Extending the application 28
>
>  Part 2 Displays 29
>
>  4 Tkinter widgets 31
>      4.1 Tkinter widget tour 31
>
>      Toplevel 32, Frame 33, Label 35, Button 36, Entry 37, Radiobutton 37,
> Checkbutton 38, Menu 39, Message 42, Text 43, Canvas 44, Scrollbar 45,
> Listbox 45, Scale 46
>
>      4.2 Fonts and colors 47
>
>      Font descriptors 47, X Window System font descriptors 47, Colors 48,
> Setting application-wide default fonts and colors 49
>
>      4.3 Pmw Megawidget tour 49
>
>      AboutDialog 50, Balloon 50, ButtonBox 51, ComboBox 52, ComboBoxDialog
> 53, Counter 54, CounterDialog 55, Dialog 56, EntryField 56, Group 57,
> LabeledWidget 58, MenuBar 59, MessageBar 59, MessageDialog 61, NoteBookR
> 61, NoteBookS 62, NoteBook 63, OptionMenu 64, PanedWidget 65, PromptDialog
> 66, RadioSelect 66, ScrolledCanvas 67, ScrolledField 68, ScrolledFrame 69,
> ScrolledListbox 70, ScrolledText 70, SelectionDialog 71, TextDialog 72,
> TimeCounter 73 ... snip
>  8 Dialogs and forms 140
>      8.1 Dialogs 141
>
>      Standard dialogs 141, Data entry dialogs 142, Single-shot forms 146,
> Tkinter variables 152
>
>      8.2 A standard application framework 155
>      8.3 Data dictionaries 165
>      8.4 Notebooks 172
>      8.5 Browsers 175
>      8.6 Wizards 184
>      8.7 Image maps 191
>      8.8 Summary 198
>  9 Panels and machines 199
>      9.1 Building a front panel 199
>      9.2 Modularity 201
>      9.3 Implementing the front panel 201
>      9.4 GIF, BMP and overlays 215
>      9.5 And now for a more complete example 220
>      9.6 Virtual machines using POV-Ray 232
>
>      And now for something completely different... #10 The Example 233
>
>      9.7 Summary 236
>  10 Drawing blobs and rubber lines 237
>      10.1 Drawing on a canvas 238
>
>      Moving canvas objects 243
>
>      10.2 A more complete drawing program 244
>      10.3 Scrolled canvases 251
>      10.4 Ruler-class tools 254
>      10.5 Stretching canvas objects 258
>      10.6 Some finishing touches 262
>      10.7 Speed drawing 271
>      10.8 Summary 275
>  11 Graphs and charts 276
>      11.1 Simple graphs 276
>      11.2 A graph widget 279
>
>      Adding bargraphs 286, Pie charts 289
>
>      11.3 3-D graphs 292
>      11.4 Strip charts 296
>      11.5 Summary 298
>  12 Navigation 300
>      12.1 Introduction: navigation models 300
>      12.2 Mouse navigation 301
>  ... snip
>  18 Threads and asynchronous techniques 361
>      18.1 Threading 361
>
>      Non-GUI threads 362, GUI threads 365
>
>      18.2 ?after? processing 369
>      18.3 Summary 373
>  19 Distributing Tkinter applications 374
>      19.1 General issues in distributing applications 374
>      19.2 Distributing Unix applications 375
>      19.3 Distributing Win32 applications 376
>      19.4 Python distribution tools 379
>
>  Part 4 Appendices 381
>
>  appendix A Mapping Tk to Tkinter 383
>  appendix B Tkinter reference 425
>  appendix C Pmw reference: Python megawidgets 542
>  appendix D Building and installing Python, Tkinter 610
>  appendix E Events and keysyms 617
>  appendix F Cursors 621
>  appendix G References 625
>  index 629


More information about the Tutor mailing list