Index
A
- API, Weather Reporter application
- APIs
- defining, in socket module / A simple socket demo
- asterisk
- usage, URL / Specifying styles
- audio
- controls, adding / Playing audio and adding audio controls
- playing / Playing audio and adding audio controls
- audio controls
- stop function, adding / Adding the play/stop function
- play function, adding / Adding the play/stop function
- pause function, adding / Adding the pause/unpause function
- unpause function, adding / Adding the pause/unpause function
- unmute function, adding / Adding the mute/unmute function
- mute function, adding / Adding the mute/unmute function
- fast forward function, adding / Fast forward/rewind function
- rewind function, adding / Fast forward/rewind function
- next track function, adding / Adding the next track/previous track function
- previous track function, adding / Adding the next track/previous track function
- Volume Change function, adding / Adding the volume change function
- audio player
- building / An overview of the chapter
- recording capability formats / An overview of the chapter
- about / An overview of the chapter
- external library requisites / External library requirements
- program structure, building / Program structure and broadview skeleton
- broadview skeleton / Program structure and broadview skeleton
- program structure / Program structure and broadview skeleton
- data structure, deciding / Deciding the data structure
- Player class, creating / Creating the Player class
- items, removing / Adding and removing items from a playlist
- items, adding / Adding and removing items from a playlist
- seek bar, creating / Creating a seek bar
- one-time updates, providing / One-time updates during audio playback
- continuous updates, managing / Managing continuous updates
- looping over tracks feature, adding / Looping over tracks
- tooltip, adding / Adding a tooltip
- AVbin
- URL / The pyglet module
- about / The pyglet module
B
- beat patterns
- saving / Saving beat patterns
- beats per unit (BPUs)
- about / An overview of the chapter
- Beautiful Soup
- boilerplate
- about / Structuring our program
- broader visual elements
- creating / Creating broader visual elements
- getter and setter methods, defining / Defining getter and setter methods
- number of units and beats per unit feature / The number of units and beats per unit features
- broad GUI structure
- setting up / Setting up a broad GUI structure
- broadview skeleton
- building / Program structure and broadview skeleton
- built-in functionality
- adding / Adding a built-in functionality
- buttons
- functionality, adding to / Adding functionality to the remaining buttons
C
- callback functions / GUI programming – the big picture
- callbacks
- about / Events and callbacks – adding life to programs, Command binding
- arguments, passing to / Passing arguments to callbacks
- canvas
- items, drawing on / Drawing items on the canvas
- canvas' methods
- Canvas widget
- window coordinate system / Dealing with mouse events
- canvas coordinate system / Dealing with mouse events
- CapWords / Setting up the editor skeleton
- chat clients
- about / Building a chat application
- chat server
- about / Building a chat application
- chess program
- source and destination position, obtaining / Getting the source and destination position
- list of the moves, collecting / Collecting a list of the moves that need to be highlighted
- allowed moves, highlighting / Highlighting allowed moves
- pre move validation / Pre move validation
- move, recording in data structure / Recording a move in the data structure
- game statistics, maintaining / Keep game statistics
- code styling / Setting up the editor skeleton
- color palette
- adding / Adding a color palette
- command-line output
- redirecting, to Tkinter / Redirecting the command-line output to Tkinter
- command binding / Command binding
- command option
- limitations / Limitations of the command option
- context/pop-up menu
- creating / Creating the context/pop-up menu
- continuous updates
- monitoring, during audio playback / One-time updates during audio playback, Managing continuous updates
- CRUD (Create, Read, Update, and Delete)
- cursor information bar
- adding / Adding the cursor information bar
- cursors
- URL / Specifying styles
- cx_Freeze tool
- about / Other freezing tools
- URL / Other freezing tools
D
- 3D framework, for Tkinter
- URL / 3D graphics with Tkinter
- 3D graphics
- defining, with Tkinter / 3D graphics with Tkinter
- 3D programming, with Tkinter
- URL / 3D graphics with Tkinter
- data structure
- finalizing / Finalizing the data structure
- deciding / Deciding the data structure
- data structures
- modeling / Modeling the data structures
- convention, on naming chess pieces / Convention on naming chess pieces
- convention, for naming location on chessboard / Convention for naming locations on the chessboard
- denial of service (DOS)
- about / Creating a Weather Reporter
- deserialization
- about / Saving beat patterns
- dialogs
- working with / Working with forms and dialogs
- dont repeat yourself (DRY) / Specifying styles
- draw methods
- top bar options, adding for / Adding top bar options for draw methods
- drum machine
- playing / Playing the drum machine
- pygame, initializing / Initializing pygame
- complete patterns, playing / Playing complete patterns
- rhythm tempo, determining / Determining the tempo of a rhythm
- drum samples
- loading / Loading drum samples
E
- easier to ask for forgiveness than permission (EAFP) / Handling errors and exceptions
- event binding, options
- application-level binding / The levels of binding
- class-level binding / The levels of binding
- events
- about / Events and callbacks – adding life to programs
- binding / Event binding
- patterns / Event patterns
- binding, level / The levels of binding
- propagation / The levels of binding
- unbinding / Event unbinding and virtual events
- virtual events / Event unbinding and virtual events
- unbind option / Event unbinding and virtual events
- events patterns
- about / Event patterns
- event type / Event patterns
- event modifier / Event patterns
- event detail / Event patterns
F
- fast forward
- adding / Fast forward/rewind function
- filedialog
- additional options / Working with forms and dialogs
- filter functions / Using filter and map
- Find Text feature
- implementing / Implementing the Find Text feature
- fonts
- about / More on fonts
- names / More on fonts
- finer control / Finer control over font
- font selector, building / Building a font selector
- Footprint Editor / An overview of the chapter
- forms
- working with / Working with forms and dialogs
- framework
- creating / Creating a tiny framework
- Freeze tools
- freezing tools
- Freeze / Other freezing tools
- cx_Freeze / Other freezing tools
- function closures
- functions
- about / Creating broader visual elements
G
- game of chess
- defining / An overview of the chapter
- module requirements / Module requirements for this chapter
- program, structuring / Structuring our program
- General Public License (GPL) / PyQt
- geometry management / GUI programming – the big picture
- geometry manager
- about / Adding widgets to a parent window
- pack / The Tkinter geometry manager
- grid / The Tkinter geometry manager
- place / The Tkinter geometry manager
- global variables / Working with forms and dialogs
- grid geometry manager
- about / The Tkinter geometry manager, The grid geometry manager
- cell / The grid geometry manager
- using / The grid geometry manager
- minsize option / The grid geometry manager
- pad option / The grid geometry manager
- weight option / The grid geometry manager
- GUI
- setting up, in OOP / Setting up the GUI in OOP
- GUI programming
- about / GUI programming – the big picture
- aspects / GUI programming – the big picture
- widgets / GUI programming – the big picture
- geometry management / GUI programming – the big picture
- callback functions / GUI programming – the big picture
- GUI programs
- building blocks, widgets / Widgets – the building blocks of GUI programs
H
- HtmlWindow widget / A limited number of core widgets
I
- icons toolbar / The icons toolbar and View menu functions
- IDLE / Installing Python and Tkinter
- index format
- indexing
- about / Indexing and tagging
- installation
- Tkinter / Installing Python and Tkinter
- Python / Installing Python and Tkinter
- instance-level binding
- about / The levels of binding
- IronPython / Other options
- irregular line and shapes feature
- drawing / Drawing irregular lines and super shapes
- irregular lines
- drawing / Drawing irregular lines
- items
- drawing, on canvas / Drawing items on the canvas
- about / Drawing items on the canvas
- items, playlist
- adding / Adding and removing items from a playlist
- removing / Adding and removing items from a playlist
- single audio file, adding / Adding a single audio file
- selected files, removing / Removing the selected files from a playlist
- files, adding from directory / Adding all files from a directory
J
- JSON (JavaScript Object Notation)
- about / Creating a Weather Reporter
- Jython / Other options
K
- keysym mapping
- about / Event patterns
- URL / Event patterns
L
- limitations, Tkinter
- about / The limitations of Tkinter
- limited number of core widgets / A limited number of core widgets
- non-Python objects / Non-Python objects
- no support for printing / No support for printing
- no support for newer image formats / No support for newer image formats
- inactive development community / Inactive development community
- alternatives / Alternatives to Tkinter
- wxPython / wxPython
- pyQt / PyQt
- PySide / PySide
- pyGTK / PyGTK
- other options / Other options
- line number
- displaying / Displaying the line number
- look before you leap (LBYL) / Handling errors and exceptions
- looping over tracks feature
- adding / Looping over tracks
M
- mainloop method / The root window – your drawing board
- map functions / Using filter and map
- matplotlib
- URL / Graphing with Tkinter
- menu
- adding / Adding a menu and menu items
- menu implementation
- menu items
- adding / Adding a menu and menu items, Adding menu items
- options / Adding menu items
- functionality, adding to / Adding functionality to menu items
- menu separators / Adding menu items
- message boxes
- working with / Working with message boxes
- Method Resolution Order (MRO) / The class hierarchy of Tkinter
- mixer module
- URL / Initializing pygame
- mixin
- about / The class hierarchy of Tkinter
- geometry mixins / The class hierarchy of Tkinter
- implementation mixins / The class hierarchy of Tkinter
- mod / Index
- modal window / Types of Toplevel windows
- Model-View-Controller (MVC)
- about / Structuring our program
- model first philosophy / Deciding the data structure
- modifiers / Index
- module requirements
- defining / Module requirements for the chapter
- mouse events
- defining / Dealing with mouse events
- multiple beat patterns
- support / Support for multiple beat patterns
- mute function
- adding / Adding the mute/unmute function
N
- next track function
- NumPy
- about / Graphing with Tkinter
O
- object-oriented programming / Working with forms and dialogs
- one-time updates
- monitoring, during audio playback / One-time updates during audio playback
- OOP
- GUI, setting up / Setting up the GUI in OOP
- data abstraction / Setting up the GUI in OOP
- encapsulation / Setting up the GUI in OOP
- inheritance / Setting up the GUI in OOP
- polymorphism / Setting up the GUI in OOP
- option database / Specifying styles
P
- pack() method / Widgets – the building blocks of GUI programs, The Tkinter geometry manager
- pack geometry manager
- about / The Tkinter geometry manager, The pack geometry manager
- spaces, distinguishing / The pack geometry manager
- side option / The pack geometry manager
- fill option / The pack geometry manager
- expand option / The pack geometry manager
- anchor option / The pack geometry manager
- internal padding option / The pack geometry manager
- using / The pack geometry manager
- packing box / The pack geometry manager
- Pattern Number Spinbox widget
- about / An overview of the chapter
- pause function
- adding / Adding the pause/unpause function
- PEP8
- documentation, URL / Setting up the editor skeleton
- percent substitution / Validating user input
- phone book application
- creating / Creating a phone book application
- new record, creating / Creating a new record
- reading, from database / Reading from the database
- records, updating / Updating records
- records, deleting / Deleting records
- pickle
- about / Saving beat patterns
- pickle module
- about / Saving beat patterns
- URL / Saving beat patterns
- pickling
- about / Saving beat patterns
- Piece class
- creating / Creating a Piece class
- chess pieces, displaying on chessboard / Displaying chess pieces on the chessboard
- rules, defining for chess pieces / Defining rules for the chess pieces
- rules, for King / Rules for the King, Queen, Rook, and Bishop
- rules, for Queen / Rules for the King, Queen, Rook, and Bishop
- rules, for Rook / Rules for the King, Queen, Rook, and Bishop
- rules, for Bishop / Rules for the King, Queen, Rook, and Bishop
- rules, for Knight / Rules for a Knight
- rules, for Pawn / Rules for a Pawn
- movement validation, of chess pieces / The movement validation of chess pieces
- available moves, tracking / Tracking all the available moves
- current position of King, finding / Finding out the current position of the King
- King in check, checking / Checking whether the King is in check
- pixel unit (px) / Specifying styles
- place geometry manager
- Player class
- creating / Creating the Player class
- play function
- adding / Adding the play/stop function
- playlist
- items, adding / Adding and removing items from a playlist
- items, removing / Adding and removing items from a playlist
- single audio file, adding / Adding a single audio file
- selected files, removing / Removing the selected files from a playlist
- files, adding from directory / Adding all files from a directory
- emptying / Emptying the playlist
- play_media method / Creating the Player class
- PMW list of extensions
- about / PMW list of extensions
- widgets / Widgets
- dialogs / Dialogs
- miscellaneous / Miscellaneous
- point unit (pt) / Specifying styles
- predefined named colors
- URL / Specifying styles
- previous track function
- print() function / Tkinter in Python 2.x
- programmable drum machine
- building / An overview of the chapter
- program structure
- building / Program structure and broadview skeleton
- protocol / Implementing the Find Text feature
- py2app
- py2exe
- pygame
- references / Module requirements for the chapter
- pygame.mixer
- pyglet
- URL, for download / The pyglet module
- URL, for installation / The pyglet module
- online documentation, URL / Creating the Player class
- Pyglet player
- PyGTK
- pyInstaller
- about / PyInstaller
- URL / PyInstaller
- PyQT
- about / Working with ttk-themed widgets
- pyQt
- about / PyQt
- PySide
- about / Working with ttk-themed widgets, PySide
- URL / PySide
- Python
- installing / Installing Python and Tkinter
- URL, for download / Installing Python and Tkinter
- package index, URL / Creating the Player class
- Python 2.x
- Tkinter / Tkinter in Python 2.x
- Python Megawidget (PMW) / External library requirements
- URL / PMW Tkinter extension
- Python object
- interactive help / Getting interactive help
- Python Standard Library
R
- race condition
- about / Building a Snake game
- requisites, external library
- about / External library requirements
- pyglet library / External library requirements
- Python Megawidget (PMW) / External library requirements
- pyglet module / The pyglet module
- PMW Tkinter extension / PMW Tkinter extension
- reserved ports
- rewind function
- adding / Fast forward/rewind function
- root window
- about / The root window – your drawing board
- options / Some common root window options
- rotation matrix
- URL / 3D graphics with Tkinter
S
- Scrapy
- screen saver
- building / Building a screen saver
- seek bar
- creating / Creating a seek bar
- SEL / Tags
- Select All feature
- implementing / Implementing the Select All feature
- selection modes, Listbox widget
- SINGLE / Program structure and broadview skeleton
- BROWSE / Program structure and broadview skeleton
- MULTIPLE / Program structure and broadview skeleton
- EXTENDED / Program structure and broadview skeleton
- Single Responsibility Principle / The Single Responsibility Principle
- skeleton, text editor
- setting up / Setting up the editor skeleton
- Snake game
- building / Building a Snake game
- Software Requirement Specifications (SRS)
- about / Structuring our program
- source code, functions
- askopenfile / Working with forms and dialogs
- askopenfilename / Working with forms and dialogs
- askopenfilenames / Working with forms and dialogs
- askopenfiles / Working with forms and dialogs
- asksaveasfile / Working with forms and dialogs
- asksaveasfilename / Working with forms and dialogs
- askdirectory / Working with forms and dialogs
- spoke ration
- about / Drawing items on the canvas
- sqlite3
- stop function
- adding / Adding the play/stop function
- submodifiers / Index
- subprocess Python module
- Super Formula
- about / Drawing super shapes
- URL / Drawing super shapes
- super shapes
- drawing / Drawing super shapes
- about / Drawing super shapes
T
- tagging
- about / Indexing and tagging
- tags
- about / Tags
- Tck/Tk
- documentation, URL / Setting up the editor skeleton
- TCP connect scanner
- about / Building a port scanner
- TCP SYN scan
- about / Building a port scanner
- URL / Building a port scanner
- tear-off menus / Adding a menu and menu items
- text editor
- creating / Objectives of the chapter
- features, including / An overview of the chapter
- skeleton, setting up / Setting up the editor skeleton
- menu, adding / Adding a menu and menu items
- menu items, adding / Adding a menu and menu items
- View menu, implementing / Implementing the View menu
- built-in functionality, adding / Adding a built-in functionality
- indexing / Indexing and tagging
- tagging / Indexing and tagging
- Select All feature, implementing / Implementing the Select All feature
- Find Text feature, implementing / Implementing the Find Text feature
- Toplevel windows / Types of Toplevel windows
- dialogs, working with / Working with forms and dialogs
- forms, working with / Working with forms and dialogs
- message boxes, working with / Working with message boxes
- icons toolbar / The icons toolbar and View menu functions
- View menu functions / The icons toolbar and View menu functions
- line number, displaying / Displaying the line number
- cursor information bar, adding / Adding the cursor information bar
- themes, adding / Adding themes
- context/pop-up menu, creating / Creating the context/pop-up menu
- themes
- adding / Adding themes
- threading module
- tips, program design
- about / Tips for program design
- model-first policy, versus code-first policy / The model-first policy versus the code-first policy
- model, separating from view / Separating the model from the view
- right data structure, selecting / Selecting the right data structure
- variables and methods, naming / Naming variables and methods
- Single Responsibility Principle / The Single Responsibility Principle
- loose coupling / Loose coupling
- errors and exceptions, handling / Handling errors and exceptions
- tips, program optimization
- about / Tips for program optimization, Other optimization tips
- map, using / Using filter and map
- filter, using / Using filter and map
- variables, optimizing / Optimize variables
- program, profiling / Profiling your program
- URL / Other optimization tips
- tk.some_method / Importing Tkinter
- Tkinter
- about / Objectives of this chapter
- installing / Installing Python and Tkinter
- importing / Importing Tkinter
- geometry manager / The Tkinter geometry manager
- interactive help / Getting interactive help
- documentation, URL / Getting interactive help, Setting up the editor skeleton
- Menu widget / Adding a menu and menu items
- menu Items / Adding a menu and menu items
- and threading / Tkinter and threading
- and thread safety / Tkinter and thread safety
- defining / Graphing with Tkinter
- 3D graphics, defining with / 3D graphics with Tkinter
- miscellaneous tips / Chapter objectives
- command-line output, redirecting / Redirecting the command-line output to Tkinter
- class hierarchy / The class hierarchy of Tkinter
- limitations / The limitations of Tkinter
- in Python 2.x / Tkinter in Python 2.x
- Tkinter application
- distributing / Distributing a Tkinter application
- Tkinter application, distributing
- py2exe / py2exe
- py2app / py2app
- pyInstaller / PyInstaller
- freezing tools / Other freezing tools
- Tkinter extensions
- about / Adding a tooltip
- Tix / Adding a tooltip
- PMW / Adding a tooltip
- TkZinc / Adding a tooltip
- Widget Construction Kit(WCK) / Adding a tooltip
- Tkinter RAD (tkRAD) framework
- Tkinter variables
- tracking / Tracing Tkinter variables
- Tkinter widgets
- toolbar buttons
- adding / Adding toolbar buttons
- tooltip
- adding / Adding a tooltip
- PMW list of extensions / PMW list of extensions
- top bar options
- adding, for draw methods / Adding top bar options for draw methods
- Toplevel window
- adding / Setting up the editor skeleton
- Toplevel windows
- about / Types of Toplevel windows
- types / Types of Toplevel windows
- Toplevel windows, types
- main / Types of Toplevel windows
- child / Types of Toplevel windows
- transient / Types of Toplevel windows
- undecorated / Types of Toplevel windows
- ttk-themed widgets
- working with / Working with ttk-themed widgets
- about / Working with ttk-themed widgets
- URL / Working with ttk-themed widgets
U
- unified modeling language (UML)
- about / Structuring our program
- unmute function
- adding / Adding the mute/unmute function
- unpause function
- adding / Adding the pause/unpause function
- unpickling
- about / Saving beat patterns
- user input
- validating / Validating user input
- user input validation
- about / Validating user input
- enabling / Validating user input
- key validation mode demo / Key validation mode demo
- focus out validation mode demo / Focus out validation mode demo
- user preferences
- managing / Managing user preferences
V
- validation modes
- none / Validating user input
- focus / Validating user input
- focusin / Validating user input
- focusout / Validating user input
- key / Validating user input
- all / Validating user input
- View menu
- Checkbutton menu items / Implementing the View menu
- Radiobutton menu items / Implementing the View menu
- Cascade menu items / Implementing the View menu
- functions / The icons toolbar and View menu functions
- virtual events / Creating a seek bar
- Volume Change function
- adding / Adding the volume change function
W
- Weather Reporter application
- creating / Creating a Weather Reporter
- URL / Creating a Weather Reporter
- socket demo / A simple socket demo
- port scanner, building / Building a port scanner
- chat application, building / Building a chat application
- What You See Is What You Get (WYSIWYG ) / PyQt
- widget
- traversing / Widget traversal
- data, formatting / Formatting widget data
- widget-specific variables
- handling / Handling widget-specific variables
- widget.grid_remove() method / The grid geometry manager
- widget methods
- about / Adding toolbar buttons
- reference / Adding toolbar buttons
- widgets
- about / GUI programming – the big picture, Widgets – the building blocks of GUI programs
- Label widget / Widgets – the building blocks of GUI programs
- Button widget / Widgets – the building blocks of GUI programs
- features / Some important widget features
- widget class / Some important widget features
- creating, ways / Ways to create widgets
- Tkinter widgets / Getting to know the core Tkinter widgets
- adding, to parent window / Adding widgets to a parent window
- functioning / Events and callbacks – adding life to programs
- platform-based styling / Doing it in style, Specifying styles
- color options, specifying / Specifying styles
- window manager (Wm) / The class hierarchy of Tkinter
- wxPython
- about / Working with ttk-themed widgets, wxPython
- URL / wxPython
- wxPython widget / A limited number of core widgets